. Refactored Invite Space/Content Users wizard pages to use new wizard framework

- conversion of invite/notify pages to dialog pages
 - config for new wizards
 - actions now execute new wizards
 - Summary pages added to new wizards

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@4438 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2006-11-23 23:44:18 +00:00
parent e58bf45b96
commit 836906285d
11 changed files with 166 additions and 874 deletions

View File

@@ -466,6 +466,7 @@ add_role=Add Role
space_owner=User ''{0}'' is the current owner of this space.
users_and_groups=Users and Groups
authority=Username
invite_users_summary=Users and Roles
# Invite Content Users Wizard messages
invite_content_title=Invite Content Users Wizard
@@ -852,7 +853,6 @@ create_website_finish_instruction=To close this wizard and create your web proje
create_website_summary_users=Users and Roles
# Invite web users wizard messages
manage_invited_users=Manage Website Users
invite_website_users=Invite Website Users
invite_webusers_title=Invite Website Users
invite_webusers_desc=Invite new users and create sandboxes for the web project.
@@ -861,7 +861,6 @@ invite_webusers_step1_desc=Select users and their roles.
invite_webusers_step2_title=Step Two - Notify Users
invite_webusers_step2_desc=Notify the invited users.
invite_webusers_finish_instruction=To close the wizard and create the user sandboxes click Finish. To review or change your selections click Back.
invite_webusers_summary_users=Users and Roles
# Delete Website Dialog messages
delete_website=Delete Web Project
@@ -1223,10 +1222,6 @@ title_login=Alfresco Web Client - Login
title_relogin=Alfresco Web Client - Logged Out
title_error=Alfresco Web Client - System Error
title_browse=Alfresco Web Client
title_inviteusers_invite=Invite Users - Invite
title_inviteusers_notify=Invite Users - Notify
title_invitecontentusers_invite=Invite Content Users - Invite
title_invitecontentusers_notify=Invite Content Users - Notify
title_change_user_roles=Change User Roles
title_remove_invited_user=Remove Invited User
title_advanced_search=Advanced Search

View File

@@ -71,6 +71,54 @@
</step>
</wizard>
<!-- Definition of Invite Space Users wizard -->
<wizard name="inviteSpaceUsers" managed-bean="InviteSpaceUsersWizard"
title-id="invite_title" description-id="invite_desc"
icon="/images/icons/users_large.gif">
<step name="invite" title-id="invite_step_1" description-id="invite_step1_desc">
<page path="/jsp/wizard/invite-users/invite.jsp"
title-id="invite_step1_title"
description-id="invite_step1_desc"
instruction-id="default_instruction" />
</step>
<step name="notify" title-id="invite_step_2" description-id="invite_step2_desc">
<page path="/jsp/wizard/invite-users/notify.jsp"
title-id="invite_step2_title"
description-id="invite_step2_desc"
instruction-id="default_instruction" />
</step>
<step name="summary" title-id="summary" description-id="summary_step_description">
<page path="/jsp/wizard/summary.jsp"
title-id="summary"
description-id="summary_desc"
instruction-id="invite_finish_instruction" />
</step>
</wizard>
<!-- Definition of Invite Content Users wizard -->
<wizard name="inviteContentUsers" managed-bean="InviteContentUsersWizard"
title-id="invite_content_title" description-id="invite_content_desc"
icon="/images/icons/users_large.gif">
<step name="invite" title-id="invite_step_1" description-id="invite_content_step1_desc">
<page path="/jsp/wizard/invite-users/invite.jsp"
title-id="invite_step1_title"
description-id="invite_content_step1_desc"
instruction-id="default_instruction" />
</step>
<step name="notify" title-id="invite_step_2" description-id="invite_step2_desc">
<page path="/jsp/wizard/invite-users/notify.jsp"
title-id="invite_step2_title"
description-id="invite_step2_desc"
instruction-id="default_instruction" />
</step>
<step name="summary" title-id="summary" description-id="summary_step_description">
<page path="/jsp/wizard/summary.jsp"
title-id="summary"
description-id="summary_desc"
instruction-id="invite_finish_instruction" />
</step>
</wizard>
<!-- Definition of an advanced space wizard -->
<wizard name="createSpace" managed-bean="CreateSpaceWizard"
title-id="create_space_title" description-id="create_space_desc"

View File

@@ -18,7 +18,6 @@ import org.alfresco.service.namespace.RegexQNamePattern;
import org.alfresco.web.app.Application;
import org.alfresco.web.bean.repository.Node;
import org.alfresco.web.bean.wizard.InviteUsersWizard;
import org.alfresco.web.bean.wizard.InviteUsersWizard.UserGroupRole;
/**
* Bean providing the ability to invite users to a web project space.
@@ -27,8 +26,6 @@ import org.alfresco.web.bean.wizard.InviteUsersWizard.UserGroupRole;
*/
public class InviteWebsiteUsersWizard extends InviteUsersWizard
{
private static final String MSG_USERROLES = "invite_webusers_summary_users";
/** Cache of available folder permissions */
Set<String> folderPermissions = null;

View File

@@ -61,6 +61,7 @@ public abstract class InviteUsersWizard extends BaseWizardBean
private static Log logger = LogFactory.getLog(InviteUsersWizard.class);
/** I18N message strings */
protected static final String MSG_USERROLES = "invite_users_summary";
private static final String MSG_USERS = "users";
private static final String MSG_GROUPS = "groups";
private static final String MSG_INVITED_TO = "invited_to";
@@ -549,6 +550,26 @@ public abstract class InviteUsersWizard extends BaseWizardBean
return buf.toString();
}
/**
* @return summary text for the wizard
*/
public String getSummary()
{
FacesContext fc = FacesContext.getCurrentInstance();
// build a summary section to list the invited users and there roles
StringBuilder buf = new StringBuilder(128);
for (UserGroupRole userRole : this.userGroupRoles)
{
buf.append(userRole.getLabel());
buf.append("<br>");
}
return buildSummary(
new String[] {Application.getMessage(fc, MSG_USERROLES)},
new String[] {buf.toString()});
}
/**
* Simple wrapper class to represent a user/group and a role combination

View File

@@ -465,10 +465,6 @@
<!-- Manage Invited Users navigation -->
<navigation-rule>
<from-view-id>/jsp/roles/manage-invited-users.jsp</from-view-id>
<navigation-case>
<from-outcome>inviteUsers</from-outcome>
<to-view-id>/jsp/wizard/invite-users/invite.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>editRoles</from-outcome>
<to-view-id>/jsp/roles/edit-user-roles.jsp</to-view-id>
@@ -505,10 +501,6 @@
<navigation-rule>
<from-view-id>/jsp/roles/manage-content-users.jsp</from-view-id>
<navigation-case>
<from-outcome>inviteUsers</from-outcome>
<to-view-id>/jsp/wizard/invite-content-users/invite.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>editRoles</from-outcome>
<to-view-id>/jsp/roles/edit-content-user-roles.jsp</to-view-id>

View File

@@ -81,7 +81,7 @@
<td align=right>
<%-- Current object actions --%>
<r:permissionEvaluator value="#{BrowseBean.document}" allow="ChangePermissions">
<a:actionLink value="#{msg.invite}" image="/images/icons/invite.gif" padding="4" action="inviteUsers" actionListener="#{InviteContentUsersWizard.startWizard}" />
<a:actionLink value="#{msg.invite}" image="/images/icons/invite.gif" padding="4" action="wizard:inviteContentUsers" />
</r:permissionEvaluator>
</td>

View File

@@ -81,7 +81,7 @@
<td align=right>
<%-- Current object actions --%>
<r:permissionEvaluator value="#{NavigationBean.currentNode}" allow="ChangePermissions">
<a:actionLink value="#{msg.invite}" image="/images/icons/invite.gif" padding="4" action="inviteUsers" actionListener="#{InviteSpaceUsersWizard.startWizard}" />
<a:actionLink value="#{msg.invite}" image="/images/icons/invite.gif" padding="4" action="wizard:inviteSpaceUsers" />
</r:permissionEvaluator>
</td>

View File

@@ -1,233 +0,0 @@
<%--
Copyright (C) 2005 Alfresco, Inc.
Licensed under the Mozilla Public License version 1.1
with a permitted attribution clause. You may obtain a
copy of the License at
http://www.alfresco.org/legal/license.txt
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the License for the specific
language governing permissions and limitations under the
License.
--%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %>
<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %>
<%@ page buffer="32kb" contentType="text/html;charset=UTF-8" %>
<%@ page isELIgnored="false" %>
<%@ page import="org.alfresco.web.ui.common.PanelGenerator" %>
<r:page titleId="title_invitecontentusers_invite">
<f:view>
<%-- load a bundle of properties with I18N strings --%>
<f:loadBundle basename="alfresco.messages.webclient" var="msg"/>
<h:form acceptCharset="UTF-8" id="invite-users">
<%-- Main outer table --%>
<table cellspacing="0" cellpadding="2">
<%-- Title bar --%>
<tr>
<td colspan="2">
<%@ include file="../../parts/titlebar.jsp" %>
</td>
</tr>
<%-- Main area --%>
<tr valign="top">
<%-- Shelf --%>
<td>
<%@ include file="../../parts/shelf.jsp" %>
</td>
<%-- Work Area --%>
<td width="100%">
<table cellspacing="0" cellpadding="0" width="100%">
<%-- Breadcrumb --%>
<%@ include file="../../parts/breadcrumb.jsp" %>
<%-- Status and Actions --%>
<tr>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/statuspanel_4.gif)" width="4"></td>
<td bgcolor="#EEEEEE">
<%-- Status and Actions inner contents table --%>
<%-- Generally this consists of an icon, textual summary and actions for the current object --%>
<table cellspacing="4" cellpadding="0" width="100%">
<tr>
<td width="32">
<h:graphicImage id="wizard-logo" url="/images/icons/users_large.gif" />
</td>
<td>
<div class="mainTitle"><h:outputText value="#{InviteContentUsersWizard.wizardTitle}" /> '<h:outputText value='#{BrowseBean.document.name}' />'</div>
<div class="mainSubText"><h:outputText value="#{InviteContentUsersWizard.wizardDescription}" /></div>
</td>
</tr>
</table>
</td>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/statuspanel_6.gif)" width="4"></td>
</tr>
<%-- separator row with gradient shadow --%>
<tr>
<td><img src="<%=request.getContextPath()%>/images/parts/statuspanel_7.gif" width="4" height="9"></td>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/statuspanel_8.gif)"></td>
<td><img src="<%=request.getContextPath()%>/images/parts/statuspanel_9.gif" width="4" height="9"></td>
</tr>
<%-- Details --%>
<tr valign=top>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_4.gif)" width="4"></td>
<td>
<table cellspacing="0" cellpadding="3" border="0" width="100%">
<tr>
<td width="20%" valign="top">
<% PanelGenerator.generatePanelStart(out, request.getContextPath(), "blue", "#D3E6FE"); %>
<h:outputText styleClass="mainSubTitle" value="#{msg.steps}"/><br>
<a:modeList itemSpacing="3" iconColumnWidth="2" selectedStyleClass="statusListHighlight"
value="1" disabled="true">
<a:listItem value="1" label="1. #{msg.invite_step_1}" />
<a:listItem value="2" label="2. #{msg.invite_step_2}" />
</a:modeList>
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "blue"); %>
</td>
<td width="100%" valign="top">
<a:errors message="#{msg.error_wizard}" styleClass="errorMessage" />
<% PanelGenerator.generatePanelStart(out, request.getContextPath(), "white", "white"); %>
<table cellpadding="2" cellspacing="2" border="0" width="100%">
<tr>
<td class="mainSubTitle"><h:outputText value="#{InviteContentUsersWizard.stepTitle}" /></td>
</tr>
<tr>
<td class="mainSubText"><h:outputText value="#{InviteContentUsersWizard.stepDescription}" /></td>
</tr>
<tr><td class="paddingRow"></td></tr>
<tr>
<td class="mainSubTitle"><h:outputText value="#{msg.specify_usersgroups}" /></td>
</tr>
<tr>
<td class="mainSubText"><h:outputText value="1. #{msg.select_usersgroups}" /></td>
</tr>
<tr>
<%-- Picker to select Users/Groups --%>
<td><a:genericPicker id="picker" showAddButton="false" filters="#{InviteContentUsersWizard.filters}" queryCallback="#{InviteContentUsersWizard.pickerCallback}" /></td>
</tr>
<tr>
<td><h:outputText value="#{msg.role}" /></td>
</tr>
<tr>
<td>
<div style="padding:4px">
<h:selectOneListbox id="roles" style="width:250px" size="5">
<f:selectItems value="#{InviteContentUsersWizard.roles}" />
</h:selectOneListbox>
</div>
</td>
</tr>
<tr><td class="paddingRow"></td></tr>
<tr>
<td class="mainSubText">
2. <h:commandButton value="#{msg.add_to_list_button}" actionListener="#{InviteContentUsersWizard.addSelection}" styleClass="wizardButton" />
</td>
</tr>
<tr><td class="paddingRow"></td></tr>
<tr>
<td class="mainSubText"><h:outputText value="#{msg.selected_usersgroups}" /></td>
</tr>
<tr>
<td>
<h:dataTable value="#{InviteContentUsersWizard.userRolesDataModel}" var="row"
rowClasses="selectedItemsRow,selectedItemsRowAlt"
styleClass="selectedItems" headerClass="selectedItemsHeader"
cellspacing="0" cellpadding="4"
rendered="#{InviteContentUsersWizard.userRolesDataModel.rowCount != 0}">
<h:column>
<f:facet name="header">
<h:outputText value="#{msg.name}" />
</f:facet>
<h:outputText value="#{row.label}" />
</h:column>
<h:column>
<a:actionLink actionListener="#{InviteContentUsersWizard.removeSelection}" image="/images/icons/delete.gif"
value="#{msg.remove}" showLink="false" style="padding-left:6px" />
</h:column>
</h:dataTable>
<a:panel id="no-items" rendered="#{InviteContentUsersWizard.userRolesDataModel.rowCount == 0}">
<table cellspacing='0' cellpadding='2' border='0' class='selectedItems'>
<tr>
<td colspan='2' class='selectedItemsHeader'><h:outputText id="no-items-name" value="#{msg.name}" /></td>
</tr>
<tr>
<td class='selectedItemsRow'><h:outputText id="no-items-msg" value="#{msg.no_selected_items}" /></td>
</tr>
</table>
</a:panel>
</td>
</tr>
<tr><td class="paddingRow"></td></tr>
<tr>
<td><h:outputText value="#{InviteContentUsersWizard.stepInstructions}" /></td>
</tr>
</table>
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "white"); %>
</td>
<td valign="top">
<% PanelGenerator.generatePanelStart(out, request.getContextPath(), "blue", "#D3E6FE"); %>
<table cellpadding="1" cellspacing="1" border="0">
<tr>
<td align="center">
<h:commandButton value="#{msg.next_button}" action="#{InviteContentUsersWizard.next}" styleClass="wizardButton" />
</td>
</tr>
<tr><td class="wizardButtonSpacing"></td></tr>
<tr>
<td align="center">
<h:commandButton value="#{msg.cancel_button}" action="#{InviteContentUsersWizard.cancel}" styleClass="wizardButton" />
</td>
</tr>
</table>
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "blue"); %>
</td>
</tr>
</table>
</td>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_6.gif)" width="4"></td>
</tr>
<%-- separator row with bottom panel graphics --%>
<tr>
<td><img src="<%=request.getContextPath()%>/images/parts/whitepanel_7.gif" width="4" height="4"></td>
<td width="100%" align="center" style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_8.gif)"></td>
<td><img src="<%=request.getContextPath()%>/images/parts/whitepanel_9.gif" width="4" height="4"></td>
</tr>
</table>
</td>
</tr>
</table>
</h:form>
</f:view>
</r:page>

View File

@@ -1,220 +0,0 @@
<%--
Copyright (C) 2005 Alfresco, Inc.
Licensed under the Mozilla Public License version 1.1
with a permitted attribution clause. You may obtain a
copy of the License at
http://www.alfresco.org/legal/license.txt
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the License for the specific
language governing permissions and limitations under the
License.
--%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %>
<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %>
<%@ page buffer="32kb" contentType="text/html;charset=UTF-8" %>
<%@ page isELIgnored="false" %>
<%@ page import="org.alfresco.web.ui.common.PanelGenerator" %>
<r:page titleId="title_invitecontentusers_notify">
<f:view>
<%-- load a bundle of properties with I18N strings --%>
<f:loadBundle basename="alfresco.messages.webclient" var="msg"/>
<h:form acceptCharset="UTF-8" id="notify-users">
<%-- Main outer table --%>
<table cellspacing="0" cellpadding="2">
<%-- Title bar --%>
<tr>
<td colspan="2">
<%@ include file="../../parts/titlebar.jsp" %>
</td>
</tr>
<%-- Main area --%>
<tr valign="top">
<%-- Shelf --%>
<td>
<%@ include file="../../parts/shelf.jsp" %>
</td>
<%-- Work Area --%>
<td width="100%">
<table cellspacing="0" cellpadding="0" width="100%">
<%-- Breadcrumb --%>
<%@ include file="../../parts/breadcrumb.jsp" %>
<%-- Status and Actions --%>
<tr>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/statuspanel_4.gif)" width="4"></td>
<td bgcolor="#EEEEEE">
<%-- Status and Actions inner contents table --%>
<%-- Generally this consists of an icon, textual summary and actions for the current object --%>
<table cellspacing="4" cellpadding="0" width="100%">
<tr>
<td width="32">
<h:graphicImage id="wizard-logo" url="/images/icons/users_large.gif" />
</td>
<td>
<div class="mainTitle"><h:outputText value="#{InviteContentUsersWizard.wizardTitle}" /> '<h:outputText value='#{BrowseBean.document.name}' />'</div>
<div class="mainSubText"><h:outputText value="#{InviteContentUsersWizard.wizardDescription}" /></div>
</td>
</tr>
</table>
</td>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/statuspanel_6.gif)" width="4"></td>
</tr>
<%-- separator row with gradient shadow --%>
<tr>
<td><img src="<%=request.getContextPath()%>/images/parts/statuspanel_7.gif" width="4" height="9"></td>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/statuspanel_8.gif)"></td>
<td><img src="<%=request.getContextPath()%>/images/parts/statuspanel_9.gif" width="4" height="9"></td>
</tr>
<%-- Details --%>
<tr valign=top>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_4.gif)" width="4"></td>
<td>
<table cellspacing="0" cellpadding="3" border="0" width="100%">
<tr>
<td width="20%" valign="top">
<% PanelGenerator.generatePanelStart(out, request.getContextPath(), "blue", "#D3E6FE"); %>
<h:outputText styleClass="mainSubTitle" value="#{msg.steps}"/><br>
<a:modeList itemSpacing="3" iconColumnWidth="2" selectedStyleClass="statusListHighlight"
value="2" disabled="true">
<a:listItem value="1" label="1. #{msg.invite_step_1}" />
<a:listItem value="2" label="2. #{msg.invite_step_2}" />
</a:modeList>
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "blue"); %>
</td>
<td width="100%" valign="top">
<a:errors message="#{msg.error_wizard}" styleClass="errorMessage" />
<% PanelGenerator.generatePanelStart(out, request.getContextPath(), "white", "white"); %>
<table cellpadding="2" cellspacing="2" border="0" width="100%">
<tr>
<td colspan=2 class="mainSubTitle"><h:outputText value="#{InviteContentUsersWizard.stepTitle}" /></td>
</tr>
<tr>
<td colspan=2 class="mainSubText"><h:outputText value="#{InviteContentUsersWizard.stepDescription}" /></td>
</tr>
<tr><td class="paddingRow"></td></tr>
<tr>
<td colspan=2><h:outputText value="#{msg.send_email}" /></td>
</tr>
<tr>
<td colspan=2>
<h:selectOneRadio value="#{InviteContentUsersWizard.notify}">
<f:selectItem itemValue="yes" itemLabel="#{msg.yes}" />
<f:selectItem itemValue="no" itemLabel="#{msg.no}" />
</h:selectOneRadio>
</td>
</tr>
<%-- Enter the message subject and body --%>
<tr><td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.email_message}" /></td></tr>
<tr>
<td style="padding-left:16px"><h:outputText value="#{msg.subject}"/>:</td>
<td>
<h:inputText id="subject" value="#{InviteContentUsersWizard.mailHelper.subject}" size="75" maxlength="1024" />&nbsp;*
</td>
</tr>
<tr>
<td></td>
<td valign="top">
<table cellspacing=0 cellpadding=2 border=0
<tr>
<td><h:outputText value="#{msg.action_mail_template}"/>:</td>
<td>
<%-- Templates drop-down selector --%>
<h:selectOneMenu value="#{InviteContentUsersWizard.mailHelper.template}">
<f:selectItems value="#{TemplateSupportBean.emailTemplates}" />
</h:selectOneMenu>
</td>
<td><h:commandButton value="#{msg.insert_template}" actionListener="#{InviteContentUsersWizard.mailHelper.insertTemplate}" styleClass="wizardButton" /></td>
<td><h:commandButton value="#{msg.discard_template}" actionListener="#{InviteContentUsersWizard.mailHelper.discardTemplate}" styleClass="wizardButton" disabled="#{InviteContentUsersWizard.mailHelper.usingTemplate == null}" /></td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="padding-left:16px"><h:outputText value="#{msg.message}"/>:</td>
<td>
<h:inputTextarea value="#{InviteContentUsersWizard.mailHelper.body}"
rows="4" cols="75" disabled="#{InviteContentUsersWizard.mailHelper.usingTemplate != null}" />
</td>
</tr>
<tr><td class="paddingRow"></td></tr>
<tr>
<td colspan=2><h:outputText value="#{InviteContentUsersWizard.stepInstructions}" /></td>
</tr>
</table>
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "white"); %>
</td>
<td valign="top">
<% PanelGenerator.generatePanelStart(out, request.getContextPath(), "blue", "#D3E6FE"); %>
<table cellpadding="1" cellspacing="1" border="0">
<tr>
<td align="center">
<h:commandButton value="#{msg.finish_button}" action="#{InviteContentUsersWizard.finish}" styleClass="wizardButton" />
</td>
</tr>
<tr>
<td align="center">
<h:commandButton value="#{msg.back_button}" action="#{InviteContentUsersWizard.back}" styleClass="wizardButton" />
</td>
</tr>
<tr><td class="wizardButtonSpacing"></td></tr>
<tr>
<td align="center">
<h:commandButton value="#{msg.cancel_button}" action="#{InviteContentUsersWizard.cancel}" styleClass="wizardButton" />
</td>
</tr>
</table>
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "blue"); %>
</td>
</tr>
</table>
</td>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_6.gif)" width="4"></td>
</tr>
<%-- separator row with bottom panel graphics --%>
<tr>
<td><img src="<%=request.getContextPath()%>/images/parts/whitepanel_7.gif" width="4" height="4"></td>
<td width="100%" align="center" style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_8.gif)"></td>
<td><img src="<%=request.getContextPath()%>/images/parts/whitepanel_9.gif" width="4" height="4"></td>
</tr>
</table>
</td>
</tr>
</table>
</h:form>
</f:view>
</r:page>

View File

@@ -16,148 +16,30 @@
--%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %>
<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %>
<%@ page buffer="32kb" contentType="text/html;charset=UTF-8" %>
<%@ page isELIgnored="false" %>
<%@ page import="org.alfresco.web.ui.common.PanelGenerator" %>
<r:page titleId="title_inviteusers_invite">
<f:view>
<%-- load a bundle of properties with I18N strings --%>
<f:loadBundle basename="alfresco.messages.webclient" var="msg"/>
<h:form acceptCharset="UTF-8" id="invite-users">
<%-- Main outer table --%>
<table cellspacing="0" cellpadding="2">
<%-- Title bar --%>
<tr>
<td colspan="2">
<%@ include file="../../parts/titlebar.jsp" %>
</td>
</tr>
<%-- Main area --%>
<tr valign="top">
<%-- Shelf --%>
<td>
<%@ include file="../../parts/shelf.jsp" %>
</td>
<%-- Work Area --%>
<td width="100%">
<table cellspacing="0" cellpadding="0" width="100%">
<%-- Breadcrumb --%>
<%@ include file="../../parts/breadcrumb.jsp" %>
<%-- Status and Actions --%>
<tr>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/statuspanel_4.gif)" width="4"></td>
<td bgcolor="#EEEEEE">
<%-- Status and Actions inner contents table --%>
<%-- Generally this consists of an icon, textual summary and actions for the current object --%>
<table cellspacing="4" cellpadding="0" width="100%">
<tr>
<td width="32">
<h:graphicImage id="wizard-logo" url="/images/icons/users_large.gif" />
</td>
<td>
<div class="mainTitle"><h:outputText value="#{InviteSpaceUsersWizard.wizardTitle}" /> '<h:outputText value='#{BrowseBean.actionSpace.name}' />'</div>
<div class="mainSubText"><h:outputText value="#{InviteSpaceUsersWizard.wizardDescription}" /></div>
</td>
</tr>
</table>
</td>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/statuspanel_6.gif)" width="4"></td>
</tr>
<%-- separator row with gradient shadow --%>
<tr>
<td><img src="<%=request.getContextPath()%>/images/parts/statuspanel_7.gif" width="4" height="9"></td>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/statuspanel_8.gif)"></td>
<td><img src="<%=request.getContextPath()%>/images/parts/statuspanel_9.gif" width="4" height="9"></td>
</tr>
<%-- Details --%>
<tr valign=top>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_4.gif)" width="4"></td>
<td>
<table cellspacing="0" cellpadding="3" border="0" width="100%">
<tr>
<td width="20%" valign="top">
<% PanelGenerator.generatePanelStart(out, request.getContextPath(), "blue", "#D3E6FE"); %>
<h:outputText styleClass="mainSubTitle" value="#{msg.steps}"/><br>
<a:modeList itemSpacing="3" iconColumnWidth="2" selectedStyleClass="statusListHighlight"
value="1" disabled="true">
<a:listItem value="1" label="1. #{msg.invite_step_1}" />
<a:listItem value="2" label="2. #{msg.invite_step_2}" />
</a:modeList>
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "blue"); %>
</td>
<td width="100%" valign="top">
<a:errors message="#{msg.error_wizard}" styleClass="errorMessage" />
<% PanelGenerator.generatePanelStart(out, request.getContextPath(), "white", "white"); %>
<table cellpadding="2" cellspacing="2" border="0" width="100%">
<tr>
<td class="mainSubTitle"><h:outputText value="#{InviteSpaceUsersWizard.stepTitle}" /></td>
</tr>
<tr>
<td class="mainSubText"><h:outputText value="#{InviteSpaceUsersWizard.stepDescription}" /></td>
</tr>
<tr><td class="paddingRow"></td></tr>
<tr>
<td class="mainSubTitle"><h:outputText value="#{msg.specify_usersgroups}" /></td>
</tr>
<tr>
<td class="mainSubText"><h:outputText value="1. #{msg.select_usersgroups}" /></td>
</tr>
<tr>
<%-- Picker to select Users/Groups --%>
<td><a:genericPicker id="picker" showAddButton="false" filters="#{InviteSpaceUsersWizard.filters}" queryCallback="#{InviteSpaceUsersWizard.pickerCallback}" /></td>
</tr>
<tr>
<td><h:outputText value="#{msg.role}" /></td>
</tr>
<tr>
<td>
<div style="padding:4px">
<h:panelGrid columns="1" cellpadding="2" style="padding-top:2px; padding-bottom:2px;" width="100%">
<h:outputText styleClass="mainSubText" value="#{msg.specify_usersgroups}" />
<h:outputText styleClass="mainSubText" value="1. #{msg.select_usersgroups}" />
<a:genericPicker id="picker" showAddButton="false" filters="#{WizardManager.bean.filters}" queryCallback="#{WizardManager.bean.pickerCallback}" />
<h:outputText value="#{msg.role}" />
<h:selectOneListbox id="roles" style="width:250px" size="5">
<f:selectItems value="#{InviteSpaceUsersWizard.roles}" />
<f:selectItems value="#{WizardManager.bean.roles}" />
</h:selectOneListbox>
</div>
</td>
</tr>
<tr><td class="paddingRow"></td></tr>
<tr>
<td class="mainSubText">
2. <h:commandButton value="#{msg.add_to_list_button}" actionListener="#{InviteSpaceUsersWizard.addSelection}" styleClass="wizardButton" />
</td>
</tr>
<tr><td class="paddingRow"></td></tr>
<tr>
<td class="mainSubText"><h:outputText value="#{msg.selected_usersgroups}" /></td>
</tr>
<tr>
<td>
<h:dataTable value="#{InviteSpaceUsersWizard.userRolesDataModel}" var="row"
<h:panelGroup styleClass="mainSubText">
<h:outputText value="2." /> <h:commandButton value="#{msg.add_to_list_button}" actionListener="#{WizardManager.bean.addSelection}" styleClass="wizardButton" />
</h:panelGroup>
<h:outputText styleClass="mainSubText" value="#{msg.selected_usersgroups}" />
<h:panelGroup>
<h:dataTable value="#{WizardManager.bean.userRolesDataModel}" var="row"
rowClasses="selectedItemsRow,selectedItemsRowAlt"
styleClass="selectedItems" headerClass="selectedItemsHeader"
cellspacing="0" cellpadding="4"
rendered="#{InviteSpaceUsersWizard.userRolesDataModel.rowCount != 0}">
rendered="#{WizardManager.bean.userRolesDataModel.rowCount != 0}">
<h:column>
<f:facet name="header">
<h:outputText value="#{msg.name}" />
@@ -165,69 +47,16 @@
<h:outputText value="#{row.label}" />
</h:column>
<h:column>
<a:actionLink actionListener="#{InviteSpaceUsersWizard.removeSelection}" image="/images/icons/delete.gif"
<a:actionLink actionListener="#{WizardManager.bean.removeSelection}" image="/images/icons/delete.gif"
value="#{msg.remove}" showLink="false" style="padding-left:6px" />
</h:column>
</h:dataTable>
<a:panel id="no-items" rendered="#{InviteSpaceUsersWizard.userRolesDataModel.rowCount == 0}">
<table cellspacing='0' cellpadding='2' border='0' class='selectedItems'>
<tr>
<td colspan='2' class='selectedItemsHeader'><h:outputText id="no-items-name" value="#{msg.name}" /></td>
</tr>
<tr>
<td class='selectedItemsRow'><h:outputText id="no-items-msg" value="#{msg.no_selected_items}" /></td>
</tr>
</table>
<a:panel id="no-items" rendered="#{WizardManager.bean.userRolesDataModel.rowCount == 0}">
<h:panelGrid columns="1" cellpadding="2" styleClass="selectedItems" rowClasses="selectedItemsHeader,selectedItemsRow">
<h:outputText id="no-items-name" value="#{msg.name}" />
<h:outputText styleClass="selectedItemsRow" id="no-items-msg" value="#{msg.no_selected_items}" />
</h:panelGrid>
</a:panel>
</td>
</tr>
<tr><td class="paddingRow"></td></tr>
<tr>
<td><h:outputText value="#{InviteSpaceUsersWizard.stepInstructions}" /></td>
</tr>
</table>
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "white"); %>
</td>
<td valign="top">
<% PanelGenerator.generatePanelStart(out, request.getContextPath(), "blue", "#D3E6FE"); %>
<table cellpadding="1" cellspacing="1" border="0">
<tr>
<td align="center">
<h:commandButton value="#{msg.next_button}" action="#{InviteSpaceUsersWizard.next}" styleClass="wizardButton" />
</td>
</tr>
<tr><td class="wizardButtonSpacing"></td></tr>
<tr>
<td align="center">
<h:commandButton value="#{msg.cancel_button}" action="#{InviteSpaceUsersWizard.cancel}" styleClass="wizardButton" />
</td>
</tr>
</table>
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "blue"); %>
</td>
</tr>
</table>
</td>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_6.gif)" width="4"></td>
</tr>
<%-- separator row with bottom panel graphics --%>
<tr>
<td><img src="<%=request.getContextPath()%>/images/parts/whitepanel_7.gif" width="4" height="4"></td>
<td width="100%" align="center" style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_8.gif)"></td>
<td><img src="<%=request.getContextPath()%>/images/parts/whitepanel_9.gif" width="4" height="4"></td>
</tr>
</table>
</td>
</tr>
</table>
</h:form>
</f:view>
</r:page>
</h:panelGroup>
</h:panelGrid>

View File

@@ -16,205 +16,68 @@
--%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %>
<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %>
<%@ page buffer="32kb" contentType="text/html;charset=UTF-8" %>
<%@ page isELIgnored="false" %>
<%@ page import="org.alfresco.web.ui.common.PanelGenerator" %>
<r:page titleId="title_inviteusers_notify">
<f:verbatim>
<script type="text/javascript">
<f:view>
window.onload = pageLoaded;
var okEnabled;
<%-- load a bundle of properties with I18N strings --%>
<f:loadBundle basename="alfresco.messages.webclient" var="msg"/>
function pageLoaded()
{
document.getElementById("wizard:wizard-body:subject").focus();
okEnabled = !document.getElementById("wizard:finish-button").disabled;
checkButtonState();
}
<h:form acceptCharset="UTF-8" id="notify-users">
function checkButtonState()
{
if (okEnabled)
{
if (document.getElementById("wizard:wizard-body:subject").value.length == 0)
{
document.getElementById("wizard:finish-button").disabled = true;
}
else
{
document.getElementById("wizard:finish-button").disabled = false;
}
}
}
</script>
</f:verbatim>
<%-- Main outer table --%>
<table cellspacing="0" cellpadding="2">
<%-- Title bar --%>
<tr>
<td colspan="2">
<%@ include file="../../parts/titlebar.jsp" %>
</td>
</tr>
<%-- Main area --%>
<tr valign="top">
<%-- Shelf --%>
<td>
<%@ include file="../../parts/shelf.jsp" %>
</td>
<%-- Work Area --%>
<td width="100%">
<table cellspacing="0" cellpadding="0" width="100%">
<%-- Breadcrumb --%>
<%@ include file="../../parts/breadcrumb.jsp" %>
<%-- Status and Actions --%>
<tr>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/statuspanel_4.gif)" width="4"></td>
<td bgcolor="#EEEEEE">
<%-- Status and Actions inner contents table --%>
<%-- Generally this consists of an icon, textual summary and actions for the current object --%>
<table cellspacing="4" cellpadding="0" width="100%">
<tr>
<td width="32">
<h:graphicImage id="wizard-logo" url="/images/icons/users_large.gif" />
</td>
<td>
<div class="mainTitle"><h:outputText value="#{InviteSpaceUsersWizard.wizardTitle}" /> '<h:outputText value='#{BrowseBean.actionSpace.name}' />'</div>
<div class="mainSubText"><h:outputText value="#{InviteSpaceUsersWizard.wizardDescription}" /></div>
</td>
</tr>
</table>
</td>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/statuspanel_6.gif)" width="4"></td>
</tr>
<%-- separator row with gradient shadow --%>
<tr>
<td><img src="<%=request.getContextPath()%>/images/parts/statuspanel_7.gif" width="4" height="9"></td>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/statuspanel_8.gif)"></td>
<td><img src="<%=request.getContextPath()%>/images/parts/statuspanel_9.gif" width="4" height="9"></td>
</tr>
<%-- Details --%>
<tr valign=top>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_4.gif)" width="4"></td>
<td>
<table cellspacing="0" cellpadding="3" border="0" width="100%">
<tr>
<td width="20%" valign="top">
<% PanelGenerator.generatePanelStart(out, request.getContextPath(), "blue", "#D3E6FE"); %>
<h:outputText styleClass="mainSubTitle" value="#{msg.steps}"/><br>
<a:modeList itemSpacing="3" iconColumnWidth="2" selectedStyleClass="statusListHighlight"
value="2" disabled="true">
<a:listItem value="1" label="1. #{msg.invite_step_1}" />
<a:listItem value="2" label="2. #{msg.invite_step_2}" />
</a:modeList>
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "blue"); %>
</td>
<td width="100%" valign="top">
<a:errors message="#{msg.error_wizard}" styleClass="errorMessage" />
<% PanelGenerator.generatePanelStart(out, request.getContextPath(), "white", "white"); %>
<table cellpadding="2" cellspacing="2" border="0" width="100%">
<tr>
<td colspan=2 class="mainSubTitle"><h:outputText value="#{InviteSpaceUsersWizard.stepTitle}" /></td>
</tr>
<tr>
<td colspan=2 class="mainSubText"><h:outputText value="#{InviteSpaceUsersWizard.stepDescription}" /></td>
</tr>
<tr><td class="paddingRow"></td></tr>
<tr>
<td colspan=2><h:outputText value="#{msg.send_email}" /></td>
</tr>
<tr>
<td colspan=2>
<h:selectOneRadio value="#{InviteSpaceUsersWizard.notify}">
<h:panelGrid style="padding-bottom:12px" columns="1" cellpadding="2" cellspacing="2" border="0" width="100%">
<h:outputText value="#{msg.send_email}" />
<h:selectOneRadio value="#{WizardManager.bean.notify}">
<f:selectItem itemValue="yes" itemLabel="#{msg.yes}" />
<f:selectItem itemValue="no" itemLabel="#{msg.no}" />
</h:selectOneRadio>
</td>
</tr>
</h:panelGrid>
<%-- Enter the message subject and body --%>
<tr><td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.email_message}" /></td></tr>
<tr>
<td style="padding-left:16px"><h:outputText value="#{msg.subject}"/>:</td>
<td>
<h:inputText id="subject" value="#{InviteSpaceUsersWizard.mailHelper.subject}" size="75" maxlength="1024" />&nbsp;*
</td>
</tr>
<h:outputText value="#{msg.email_message}" styleClass="mainSubTitle" />
<h:panelGrid columns="2" cellpadding="2" cellspacing="2" border="0" width="100%">
<h:outputText value="#{msg.subject}:" />
<h:panelGroup>
<h:inputText id="subject" value="#{WizardManager.bean.mailHelper.subject}" size="75" maxlength="1024" onkeyup="javascript:checkButtonState();" />
<f:verbatim>&nbsp;*</f:verbatim>
</h:panelGroup>
<tr>
<td></td>
<td valign="top">
<table cellspacing=0 cellpadding=2 border=0>
<tr>
<td><h:outputText value="#{msg.action_mail_template}"/>:</td>
<td>
<%-- Templates drop-down selector --%>
<h:selectOneMenu value="#{InviteSpaceUsersWizard.mailHelper.template}">
<f:verbatim></f:verbatim>
<h:panelGrid columns="4" cellspacing="1" cellpadding="1" border="0">
<h:outputText value="#{msg.action_mail_template}:" />
<h:selectOneMenu value="#{WizardManager.bean.mailHelper.template}">
<f:selectItems value="#{TemplateSupportBean.emailTemplates}" />
</h:selectOneMenu>
</td>
<td><h:commandButton value="#{msg.insert_template}" actionListener="#{InviteSpaceUsersWizard.mailHelper.insertTemplate}" styleClass="wizardButton" /></td>
<td><h:commandButton value="#{msg.discard_template}" actionListener="#{InviteSpaceUsersWizard.mailHelper.discardTemplate}" styleClass="wizardButton" disabled="#{InviteSpaceUsersWizard.mailHelper.usingTemplate == null}" /></td>
</tr>
</table>
</td>
</tr>
<h:commandButton value="#{msg.insert_template}" actionListener="#{WizardManager.bean.mailHelper.insertTemplate}" styleClass="wizardButton" />
<h:commandButton value="#{msg.discard_template}" actionListener="#{WizardManager.bean.mailHelper.discardTemplate}" styleClass="wizardButton" disabled="#{WizardManager.bean.mailHelper.usingTemplate == null}" />
</h:panelGrid>
<tr>
<td style="padding-left:16px"><h:outputText value="#{msg.message}"/>:</td>
<td>
<h:inputTextarea value="#{InviteSpaceUsersWizard.mailHelper.body}"
rows="4" cols="75" disabled="#{InviteSpaceUsersWizard.mailHelper.usingTemplate != null}" />
</td>
</tr>
<tr><td class="paddingRow"></td></tr>
<tr>
<td colspan=2><h:outputText value="#{InviteSpaceUsersWizard.stepInstructions}" /></td>
</tr>
</table>
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "white"); %>
</td>
<td valign="top">
<% PanelGenerator.generatePanelStart(out, request.getContextPath(), "blue", "#D3E6FE"); %>
<table cellpadding="1" cellspacing="1" border="0">
<tr>
<td align="center">
<h:commandButton value="#{msg.finish_button}" action="#{InviteSpaceUsersWizard.finish}" styleClass="wizardButton" />
</td>
</tr>
<tr>
<td align="center">
<h:commandButton value="#{msg.back_button}" action="#{InviteSpaceUsersWizard.back}" styleClass="wizardButton" />
</td>
</tr>
<tr><td class="wizardButtonSpacing"></td></tr>
<tr>
<td align="center">
<h:commandButton value="#{msg.cancel_button}" action="#{InviteSpaceUsersWizard.cancel}" styleClass="wizardButton" />
</td>
</tr>
</table>
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "blue"); %>
</td>
</tr>
</table>
</td>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_6.gif)" width="4"></td>
</tr>
<%-- separator row with bottom panel graphics --%>
<tr>
<td><img src="<%=request.getContextPath()%>/images/parts/whitepanel_7.gif" width="4" height="4"></td>
<td width="100%" align="center" style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_8.gif)"></td>
<td><img src="<%=request.getContextPath()%>/images/parts/whitepanel_9.gif" width="4" height="4"></td>
</tr>
</table>
</td>
</tr>
</table>
</h:form>
</f:view>
</r:page>
<h:outputText value="#{msg.message}:"/>
<h:inputTextarea value="#{WizardManager.bean.mailHelper.body}" rows="4" cols="75" disabled="#{WizardManager.bean.mailHelper.usingTemplate != null}" />
</h:panelGrid>