Added document level security

Fixed AWC-407
Added helper to Application to get client config

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2114 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Gavin Cornwell
2006-01-16 14:09:01 +00:00
parent e9c3ca1be4
commit fd5330fe56
30 changed files with 1584 additions and 180 deletions

View File

@@ -146,6 +146,10 @@
<from-outcome>manageInvitedUsers</from-outcome>
<to-view-id>/jsp/roles/manage-invited-users.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>manageContentUsers</from-outcome>
<to-view-id>/jsp/roles/manage-content-users.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>manageRules</from-outcome>
<to-view-id>/jsp/dialog/rules.jsp</to-view-id>
@@ -363,6 +367,10 @@
<from-outcome>showForum</from-outcome>
<to-view-id>/jsp/forums/forum.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>manageContentUsers</from-outcome>
<to-view-id>/jsp/roles/manage-content-users.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
@@ -434,18 +442,6 @@
</navigation-rule>
<!-- Manage Invited Users navigation -->
<navigation-rule>
<from-view-id>/jsp/roles/*</from-view-id>
<navigation-case>
<from-outcome>cancel</from-outcome>
<to-view-id>/jsp/roles/manage-invited-users.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>finish</from-outcome>
<to-view-id>/jsp/roles/manage-invited-users.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/jsp/roles/manage-invited-users.jsp</from-view-id>
<navigation-case>
@@ -462,6 +458,70 @@
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/jsp/roles/edit-user-roles.jsp</from-view-id>
<navigation-case>
<from-outcome>cancel</from-outcome>
<to-view-id>/jsp/roles/manage-invited-users.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>finish</from-outcome>
<to-view-id>/jsp/roles/manage-invited-users.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/jsp/roles/remove-invited-user.jsp</from-view-id>
<navigation-case>
<from-outcome>cancel</from-outcome>
<to-view-id>/jsp/roles/manage-invited-users.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>finish</from-outcome>
<to-view-id>/jsp/roles/manage-invited-users.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<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>
</navigation-case>
<navigation-case>
<from-outcome>removeUser</from-outcome>
<to-view-id>/jsp/roles/remove-content-user.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/jsp/roles/edit-content-user-roles.jsp</from-view-id>
<navigation-case>
<from-outcome>cancel</from-outcome>
<to-view-id>/jsp/roles/manage-content-users.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>finish</from-outcome>
<to-view-id>/jsp/roles/manage-content-users.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/jsp/roles/remove-content-user.jsp</from-view-id>
<navigation-case>
<from-outcome>cancel</from-outcome>
<to-view-id>/jsp/roles/manage-content-users.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>finish</from-outcome>
<to-view-id>/jsp/roles/manage-content-users.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<!-- navigation rules for the Invite Users wizard -->
<navigation-rule>
<from-view-id>/jsp/wizard/invite-users/*</from-view-id>
@@ -483,6 +543,27 @@
</navigation-case>
</navigation-rule>
<!-- navigation rules for the Invite Content Users wizard -->
<navigation-rule>
<from-view-id>/jsp/wizard/invite-content-users/*</from-view-id>
<navigation-case>
<from-outcome>invite</from-outcome>
<to-view-id>/jsp/wizard/invite-content-users/invite.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>notify</from-outcome>
<to-view-id>/jsp/wizard/invite-content-users/notify.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>cancel</from-outcome>
<to-view-id>/jsp/roles/manage-content-users.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>finish</from-outcome>
<to-view-id>/jsp/roles/manage-content-users.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<!-- System User Management navigation -->
<navigation-rule>
<from-view-id>/jsp/users/*</from-view-id>

View File

@@ -584,8 +584,41 @@
<description>
The bean that backs up the Manage Invited Users screens
</description>
<managed-bean-name>UserMembersBean</managed-bean-name>
<managed-bean-class>org.alfresco.web.bean.users.UserMembersBean</managed-bean-class>
<managed-bean-name>SpaceUsersBean</managed-bean-name>
<managed-bean-class>org.alfresco.web.bean.users.SpaceUsersBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>nodeService</property-name>
<value>#{NodeService}</value>
</managed-property>
<managed-property>
<property-name>searchService</property-name>
<value>#{SearchService}</value>
</managed-property>
<managed-property>
<property-name>browseBean</property-name>
<value>#{BrowseBean}</value>
</managed-property>
<managed-property>
<property-name>permissionService</property-name>
<value>#{PermissionService}</value>
</managed-property>
<managed-property>
<property-name>ownableService</property-name>
<value>#{OwnableService}</value>
</managed-property>
<managed-property>
<property-name>personService</property-name>
<value>#{personService}</value>
</managed-property>
</managed-bean>
<managed-bean>
<description>
The bean that backs up the Manage Content Users screens
</description>
<managed-bean-name>ContentUsersBean</managed-bean-name>
<managed-bean-class>org.alfresco.web.bean.users.ContentUsersBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>nodeService</property-name>
@@ -617,8 +650,53 @@
<description>
The bean that backs up the Invite Users Wizard
</description>
<managed-bean-name>InviteUsersWizard</managed-bean-name>
<managed-bean-class>org.alfresco.web.bean.wizard.InviteUsersWizard</managed-bean-class>
<managed-bean-name>InviteSpaceUsersWizard</managed-bean-name>
<managed-bean-class>org.alfresco.web.bean.wizard.InviteSpaceUsersWizard</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>nodeService</property-name>
<value>#{NodeService}</value>
</managed-property>
<managed-property>
<property-name>searchService</property-name>
<value>#{SearchService}</value>
</managed-property>
<managed-property>
<property-name>namespaceService</property-name>
<value>#{NamespaceService}</value>
</managed-property>
<managed-property>
<property-name>permissionService</property-name>
<value>#{PermissionService}</value>
</managed-property>
<managed-property>
<property-name>personService</property-name>
<value>#{personService}</value>
</managed-property>
<managed-property>
<property-name>navigator</property-name>
<value>#{NavigationBean}</value>
</managed-property>
<managed-property>
<property-name>browseBean</property-name>
<value>#{BrowseBean}</value>
</managed-property>
<managed-property>
<property-name>mailSender</property-name>
<value>#{mailService}</value>
</managed-property>
<managed-property>
<property-name>authorityService</property-name>
<value>#{AuthorityService}</value>
</managed-property>
</managed-bean>
<managed-bean>
<description>
The bean that backs up the Invite Content Users Wizard
</description>
<managed-bean-name>InviteContentUsersWizard</managed-bean-name>
<managed-bean-class>org.alfresco.web.bean.wizard.InviteContentUsersWizard</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>nodeService</property-name>

View File

@@ -164,6 +164,12 @@
<a:actionLink value="#{msg.take_ownership}" image="/images/icons/take_ownership.gif" actionListener="#{DocumentDetailsBean.takeOwnership}" id="takeOwnership" />
</r:permissionEvaluator>
<r:permissionEvaluator value="#{DocumentDetailsBean.document}" allow="ChangePermissions">
<a:actionLink value="#{msg.manage_content_users}" image="/images/icons/invite.gif" action="dialog:manageContentUsers" actionListener="#{BrowseBean.setupContentAction}">
<f:param name="id" value="#{DocumentDetailsBean.id}" />
</a:actionLink>
</r:permissionEvaluator>
<%-- create shortcut --%>
<a:actionLink value="#{msg.create_shortcut}" image="/images/icons/shortcut.gif" actionListener="#{UserShortcutsBean.createShortcut}">
<f:param name="id" value="#{DocumentDetailsBean.id}" />

View File

@@ -0,0 +1,208 @@
<%--
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_change_user_roles">
<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 valign="top">
<td width="32">
<h:graphicImage id="wizard-logo" url="/images/icons/edituser_large.gif" />
</td>
<td>
<div class="mainSubTitle"><h:outputText value='#{BrowseBean.document.name}' /></div>
<div class="mainTitle">
<h:outputText value="#{msg.modify_user_roles}" />
'<h:outputText value="#{ContentUsersBean.personName}" />'
</div>
<div class="mainSubText"><h:outputText value="#{msg.modify_content_user_roles_description}" /></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="100%" valign="top">
<% PanelGenerator.generatePanelStart(out, request.getContextPath(), "white", "white"); %>
<table cellpadding="2" cellspacing="2" border="0" width="100%">
<tr>
<td class="mainSubTitle"><h:outputText value="#{msg.change_user_roles}" /></td>
</tr>
<tr><td class="paddingRow"></td></tr>
<tr>
<td>1.&nbsp;<h:outputText value="#{msg.select_role}" /></td>
</tr>
<tr>
<td>
<h:selectOneListbox id="roles" style="width:250px" size="5">
<f:selectItems value="#{InviteContentUsersWizard.roles}" />
</h:selectOneListbox>
</td>
</tr>
<tr>
<td>
2.&nbsp;<h:commandButton value="#{msg.add_to_list_button}" actionListener="#{ContentUsersBean.addRole}" />
</td>
</tr>
<tr><td class="paddingRow"></td></tr>
<tr>
<td><h:outputText value="#{msg.selected_roles}" /></td>
</tr>
<tr>
<td>
<h:dataTable value="#{ContentUsersBean.personRolesDataModel}" var="row"
rowClasses="selectedItemsRow,selectedItemsRowAlt"
styleClass="selectedItems" headerClass="selectedItemsHeader"
cellspacing="0" cellpadding="4"
rendered="#{ContentUsersBean.personRolesDataModel.rowCount != 0}">
<h:column>
<f:facet name="header">
<h:outputText value="#{msg.name}" />
</f:facet>
<h:outputText value="#{row.role}" />
</h:column>
<h:column>
<a:actionLink actionListener="#{ContentUsersBean.removeRole}" image="/images/icons/delete.gif"
value="#{msg.remove}" showLink="false" style="padding-left:6px" />
</h:column>
</h:dataTable>
<a:panel id="no-items" rendered="#{ContentUsersBean.personRolesDataModel.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 colspan=2 class="paddingRow"></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.ok}" action="#{ContentUsersBean.finishOK}" styleClass="wizardButton" />
</td>
</tr>
<tr>
<td align="center">
<h:commandButton value="#{msg.cancel_button}" action="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>
<%-- Error Messages --%>
<tr valign="top">
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_4.gif)" width="4"></td>
<td>
<%-- messages tag to show messages not handled by other specific message tags --%>
<h:messages globalOnly="true" styleClass="errorMessage" layout="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

@@ -72,7 +72,7 @@
<div class="mainSubTitle"><h:outputText value='#{BrowseBean.actionSpace.name}' /></div>
<div class="mainTitle">
<h:outputText value="#{msg.modify_user_roles}" />
'<h:outputText value="#{UserMembersBean.personName}" />'
'<h:outputText value="#{SpaceUsersBean.personName}" />'
</div>
<div class="mainSubText"><h:outputText value="#{msg.modify_user_roles_description}" /></div>
</td>
@@ -109,13 +109,13 @@
<tr>
<td>
<h:selectOneListbox id="roles" style="width:250px" size="5">
<f:selectItems value="#{InviteUsersWizard.roles}" />
<f:selectItems value="#{InviteSpaceUsersWizard.roles}" />
</h:selectOneListbox>
</td>
</tr>
<tr>
<td>
2.&nbsp;<h:commandButton value="#{msg.add_to_list_button}" actionListener="#{UserMembersBean.addRole}" />
2.&nbsp;<h:commandButton value="#{msg.add_to_list_button}" actionListener="#{SpaceUsersBean.addRole}" />
</td>
</tr>
<tr><td class="paddingRow"></td></tr>
@@ -124,11 +124,11 @@
</tr>
<tr>
<td>
<h:dataTable value="#{UserMembersBean.personRolesDataModel}" var="row"
<h:dataTable value="#{SpaceUsersBean.personRolesDataModel}" var="row"
rowClasses="selectedItemsRow,selectedItemsRowAlt"
styleClass="selectedItems" headerClass="selectedItemsHeader"
cellspacing="0" cellpadding="4"
rendered="#{UserMembersBean.personRolesDataModel.rowCount != 0}">
rendered="#{SpaceUsersBean.personRolesDataModel.rowCount != 0}">
<h:column>
<f:facet name="header">
<h:outputText value="#{msg.name}" />
@@ -136,11 +136,11 @@
<h:outputText value="#{row.role}" />
</h:column>
<h:column>
<a:actionLink actionListener="#{UserMembersBean.removeRole}" image="/images/icons/delete.gif"
<a:actionLink actionListener="#{SpaceUsersBean.removeRole}" image="/images/icons/delete.gif"
value="#{msg.remove}" showLink="false" style="padding-left:6px" />
</h:column>
</h:dataTable>
<a:panel id="no-items" rendered="#{UserMembersBean.personRolesDataModel.rowCount == 0}">
<a:panel id="no-items" rendered="#{SpaceUsersBean.personRolesDataModel.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>
@@ -162,7 +162,7 @@
<table cellpadding="1" cellspacing="1" border="0">
<tr>
<td align="center">
<h:commandButton value="#{msg.ok}" action="#{UserMembersBean.finishOK}" styleClass="wizardButton" />
<h:commandButton value="#{msg.ok}" action="#{SpaceUsersBean.finishOK}" styleClass="wizardButton" />
</td>
</tr>
<tr>

View File

@@ -0,0 +1,235 @@
<%--
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_content_users">
<f:view>
<%-- load a bundle of properties with I18N strings --%>
<f:loadBundle basename="alfresco.messages.webclient" var="msg"/>
<h:form acceptCharset="UTF-8" id="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 valign="top">
<td width="32">
<h:graphicImage id="wizard-logo" url="/images/icons/users_large.gif" />
</td>
<td>
<div class="mainSubTitle"><h:outputText value='#{BrowseBean.document.name}' /></div>
<div class="mainTitle"><h:outputText value="#{msg.manage_content_users}" /></div>
<div class="mainSubText">
<h:outputFormat value="#{msg.content_owner}" rendered="#{ContentUsersBean.owner != null}">
<f:param value="#{ContentUsersBean.owner}" />
</h:outputFormat>
</div>
<div class="mainSubText"><h:outputText value="#{msg.manage_content_users_description}" /></div>
</td>
<td bgcolor="#465F7D" width=1></td>
<td width=100 style="padding-left:2px">
<%-- Current object actions --%>
<h:outputText style="padding-left:20px;" styleClass="mainSubTitle" value="#{msg.actions}" /><br/>
<r:permissionEvaluator value="#{BrowseBean.document}" allow="ChangePermissions">
<a:actionLink value="#{msg.invite}" image="/images/icons/invite.gif" padding="4" action="inviteUsers" actionListener="#{InviteContentUsersWizard.startWizard}" />
</r:permissionEvaluator>
</td>
<td bgcolor="#465F7D" width=1></td>
<td width=100 style="padding-left:2px">
<%-- View mode settings --%>
<h:outputText style="padding-left:26px" styleClass="mainSubTitle" value="#{msg.view}"/><br>
<a:modeList itemSpacing="3" iconColumnWidth="20" selectedStyleClass="statusListHighlight" selectedImage="/images/icons/Details.gif" value="0">
<a:listItem value="0" label="#{msg.user_details}" />
</a:modeList>
</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="2" cellpadding="2" border="0" width="100%">
<tr>
<td width="100%" valign="top">
<a:panel id="users-panel" border="white" bgcolor="white" titleBorder="blue" titleBgcolor="#D3E6FE" styleClass="mainSubTitle" label="#{msg.users_and_groups}">
<a:richList id="users-list" binding="#{ContentUsersBean.usersRichList}" viewMode="details" pageSize="10"
styleClass="recordSet" headerStyleClass="recordSetHeader" rowStyleClass="recordSetRow" altRowStyleClass="recordSetRowAlt" width="100%"
value="#{ContentUsersBean.users}" var="r" initialSortColumn="userName" initialSortDescending="true">
<%-- Primary column with full name --%>
<a:column primary="true" width="200" style="padding:2px;text-align:left">
<f:facet name="header">
<a:sortLink label="#{msg.name}" value="fullName" mode="case-insensitive" styleClass="header"/>
</f:facet>
<f:facet name="small-icon">
<h:graphicImage url="#{r.icon}" />
</f:facet>
<h:outputText value="#{r.fullName}" />
</a:column>
<%-- Username column --%>
<a:column width="120" style="text-align:left">
<f:facet name="header">
<a:sortLink label="#{msg.authority}" value="userName" styleClass="header"/>
</f:facet>
<h:outputText value="#{r.userName}" />
</a:column>
<%-- Roles column --%>
<a:column style="text-align:left">
<f:facet name="header">
<a:sortLink label="#{msg.roles}" value="roles" styleClass="header"/>
</f:facet>
<h:outputText value="#{r.roles}" />
</a:column>
<%-- Actions column --%>
<a:column actions="true" style="text-align:left">
<f:facet name="header">
<h:outputText value="#{msg.actions}"/>
</f:facet>
<a:actionLink value="#{msg.change_roles}" image="/images/icons/edituser.gif" showLink="false" action="editRoles" actionListener="#{ContentUsersBean.setupUserAction}">
<f:param name="userName" value="#{r.userName}" />
</a:actionLink>
<a:actionLink value="#{msg.remove}" image="/images/icons/delete_person.gif" showLink="false" action="removeUser" actionListener="#{ContentUsersBean.setupUserAction}">
<f:param name="userName" value="#{r.userName}" />
</a:actionLink>
</a:column>
<a:dataPager styleClass="pager" />
</a:richList>
</a:panel>
</td>
<td valign="top">
<% PanelGenerator.generatePanelStart(out, request.getContextPath(), "blue", "#D3E6FE"); %>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td align="center">
<h:commandButton value="#{msg.close}" action="dialog:close" 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>
<tr>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_4.gif)" width="4"></td>
<td>
<table cellspacing="2" cellpadding="0" border="0" width="100%">
<tr>
<td>
<h:selectBooleanCheckbox id="chkPermissions" value="#{ContentUsersBean.inheritPermissions}" valueChangeListener="#{ContentUsersBean.inheritPermissionsValueChanged}"
onchange="document.forms['users'].submit(); return true;" disabled="#{!ContentUsersBean.hasChangePermissions}" />
</td>
<td width=100%>
&nbsp;<h:outputText value="#{msg.inherit_permissions}" />
</td>
</tr>
<tr>
<td colspan=2><h:message for="chkPermissions" styleClass="statusMessage" /></td>
</tr>
</table>
</td>
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_6.gif)" width="4"></td>
</tr>
<%-- Error Messages --%>
<tr valign="top">
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_4.gif)" width="4"></td>
<td>
<%-- messages tag to show messages not handled by other specific message tags --%>
<h:messages globalOnly="true" styleClass="errorMessage" layout="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

@@ -72,8 +72,8 @@
<div class="mainSubTitle"><h:outputText value='#{BrowseBean.actionSpace.name}' /></div>
<div class="mainTitle"><h:outputText value="#{msg.manage_invited_users}" /></div>
<div class="mainSubText">
<h:outputFormat value="#{msg.space_owner}" rendered="#{UserMembersBean.owner != null}">
<f:param value="#{UserMembersBean.owner}" />
<h:outputFormat value="#{msg.space_owner}" rendered="#{SpaceUsersBean.owner != null}">
<f:param value="#{SpaceUsersBean.owner}" />
</h:outputFormat>
</div>
<div class="mainSubText"><h:outputText value="#{msg.manage_invited_users_description}" /></div>
@@ -83,7 +83,7 @@
<%-- Current object actions --%>
<h:outputText style="padding-left:20px;" styleClass="mainSubTitle" value="#{msg.actions}" /><br/>
<r:permissionEvaluator value="#{NavigationBean.currentNode}" allow="ChangePermissions">
<a:actionLink value="#{msg.invite}" image="/images/icons/invite.gif" padding="4" action="inviteUsers" actionListener="#{InviteUsersWizard.startWizard}" />
<a:actionLink value="#{msg.invite}" image="/images/icons/invite.gif" padding="4" action="inviteUsers" actionListener="#{InviteSpaceUsersWizard.startWizard}" />
</r:permissionEvaluator>
</td>
<td bgcolor="#465F7D" width=1></td>
@@ -117,9 +117,9 @@
<a:panel id="users-panel" border="white" bgcolor="white" titleBorder="blue" titleBgcolor="#D3E6FE" styleClass="mainSubTitle" label="#{msg.users_and_groups}">
<a:richList id="users-list" binding="#{UserMembersBean.usersRichList}" viewMode="details" pageSize="10"
<a:richList id="users-list" binding="#{SpaceUsersBean.usersRichList}" viewMode="details" pageSize="10"
styleClass="recordSet" headerStyleClass="recordSetHeader" rowStyleClass="recordSetRow" altRowStyleClass="recordSetRowAlt" width="100%"
value="#{UserMembersBean.users}" var="r" initialSortColumn="userName" initialSortDescending="true">
value="#{SpaceUsersBean.users}" var="r" initialSortColumn="userName" initialSortDescending="true">
<%-- Primary column with full name --%>
<a:column primary="true" width="200" style="padding:2px;text-align:left">
@@ -153,10 +153,10 @@
<f:facet name="header">
<h:outputText value="#{msg.actions}"/>
</f:facet>
<a:actionLink value="#{msg.change_roles}" image="/images/icons/edituser.gif" showLink="false" action="editRoles" actionListener="#{UserMembersBean.setupUserAction}">
<a:actionLink value="#{msg.change_roles}" image="/images/icons/edituser.gif" showLink="false" action="editRoles" actionListener="#{SpaceUsersBean.setupUserAction}">
<f:param name="userName" value="#{r.userName}" />
</a:actionLink>
<a:actionLink value="#{msg.remove}" image="/images/icons/delete_person.gif" showLink="false" action="removeUser" actionListener="#{UserMembersBean.setupUserAction}">
<a:actionLink value="#{msg.remove}" image="/images/icons/delete_person.gif" showLink="false" action="removeUser" actionListener="#{SpaceUsersBean.setupUserAction}">
<f:param name="userName" value="#{r.userName}" />
</a:actionLink>
</a:column>
@@ -191,8 +191,8 @@
<table cellspacing="2" cellpadding="0" border="0" width="100%">
<tr>
<td>
<h:selectBooleanCheckbox id="chkPermissions" value="#{UserMembersBean.inheritPermissions}" valueChangeListener="#{UserMembersBean.inheritPermissionsValueChanged}"
onchange="document.forms['users'].submit(); return true;" disabled="#{!UserMembersBean.hasChangePermissions}" />
<h:selectBooleanCheckbox id="chkPermissions" value="#{SpaceUsersBean.inheritPermissions}" valueChangeListener="#{SpaceUsersBean.inheritPermissionsValueChanged}"
onchange="document.forms['users'].submit(); return true;" disabled="#{!SpaceUsersBean.hasChangePermissions}" />
</td>
<td width=100%>
&nbsp;<h:outputText value="#{msg.inherit_permissions}" />

View File

@@ -0,0 +1,168 @@
<%--
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_remove_invited_user">
<f:view>
<%-- load a bundle of properties with I18N strings --%>
<f:loadBundle basename="alfresco.messages.webclient" var="msg"/>
<%-- set the form name here --%>
<h:form acceptCharset="UTF-8" id="remove-user">
<%-- 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 valign="top">
<td width="32">
<h:graphicImage url="/images/icons/delete_large.gif"/>
</td>
<td>
<div class="mainSubTitle"><h:outputText value="#{BrowseBean.document.name}" /></div>
<div class="mainTitle"><h:outputText value="#{msg.remove_user}" /> '<h:outputText value="#{ContentUsersBean.personName}" />'</div>
<div class="mainSubText"><h:outputText value="#{msg.remove_content_user_info}" /></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="4" border="0" width="100%">
<tr>
<td width="100%" valign="top">
<% PanelGenerator.generatePanelStart(out, request.getContextPath(), "white", "white"); %>
<table cellpadding="2" cellspacing="2" border="0">
<tr>
<td class="mainSubTitle">
<h:outputFormat value="#{msg.remove_content_user_confirm}">
<f:param value="#{ContentUsersBean.personName}"/>
</h:outputFormat>
</td>
</tr>
<tr>
<td>
<%-- Error Messages --%>
<%-- messages tag to show messages not handled by other specific message tags --%>
<h:messages globalOnly="true" styleClass="errorMessage" layout="table" />
<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.yes}" action="#{ContentUsersBean.removeOK}" styleClass="dialogControls" />
</td>
</tr>
<tr><td class="dialogButtonSpacing"></td></tr>
<tr>
<td align="center">
<h:commandButton value="#{msg.no}" action="cancel" styleClass="dialogControls" />
</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>
<%-- Error Messages --%>
<tr valign="top">
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_4.gif)" width="4"></td>
<td>
<%-- messages tag to show messages not handled by other specific message tags --%>
<h:messages globalOnly="true" styleClass="errorMessage" layout="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

@@ -71,7 +71,7 @@
</td>
<td>
<div class="mainSubTitle"><h:outputText value="#{BrowseBean.actionSpace.name}" /></div>
<div class="mainTitle"><h:outputText value="#{msg.remove_user}" /> '<h:outputText value="#{UserMembersBean.personName}" />'</div>
<div class="mainTitle"><h:outputText value="#{msg.remove_user}" /> '<h:outputText value="#{SpaceUsersBean.personName}" />'</div>
<div class="mainSubText"><h:outputText value="#{msg.remove_invited_user_info}" /></div>
</td>
</tr>
@@ -101,7 +101,7 @@
<tr>
<td class="mainSubTitle">
<h:outputFormat value="#{msg.remove_invited_user_confirm}">
<f:param value="#{UserMembersBean.personName}"/>
<f:param value="#{SpaceUsersBean.personName}"/>
</h:outputFormat>
</td>
</tr>
@@ -121,7 +121,7 @@
<table cellpadding="1" cellspacing="1" border="0">
<tr>
<td align="center">
<h:commandButton value="#{msg.yes}" action="#{UserMembersBean.removeOK}" styleClass="dialogControls" />
<h:commandButton value="#{msg.yes}" action="#{SpaceUsersBean.removeOK}" styleClass="dialogControls" />
</td>
</tr>
<tr><td class="dialogButtonSpacing"></td></tr>

View File

@@ -0,0 +1,234 @@
<%--
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 valign="top">
<td width="32">
<h:graphicImage id="wizard-logo" url="/images/icons/users_large.gif" />
</td>
<td>
<div class="mainSubTitle"><h:outputText value='#{BrowseBean.document.name}' /></div>
<div class="mainTitle"><h:outputText value="#{InviteContentUsersWizard.wizardTitle}" /></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

@@ -0,0 +1,215 @@
<%--
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 valign="top">
<td width="32">
<h:graphicImage id="wizard-logo" url="/images/icons/users_large.gif" />
</td>
<td>
<div class="mainSubTitle"><h:outputText value='#{BrowseBean.document.name}' /></div>
<div class="mainTitle"><h:outputText value="#{InviteContentUsersWizard.wizardTitle}" /></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>
<tr>
<td><h:outputText value="#{msg.subject}" />:</td>
<td>
<h:inputText value="#{InviteContentUsersWizard.subject}" size="50" maxlength="256" />
</td>
</tr>
<tr>
<td><h:outputText value="#{msg.body}" />:</td>
<td>
<h:inputTextarea value="#{InviteContentUsersWizard.body}" rows="2" cols="48" />
</td>
</tr>
<tr><td class="paddingRow"></td></tr>
<tr>
<td colspan=2>
<table border=0 cellspacing=2 cellpadding=0>
<tr valign="top">
<td>
<h:outputText value="#{msg.automatic_text}" />:
</td>
<td>
<h:outputText escape="false" value="#{InviteContentUsersWizard.automaticText}" />
</td>
</tr>
</table>
</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

@@ -70,8 +70,8 @@
</td>
<td>
<div class="mainSubTitle"><h:outputText value='#{BrowseBean.actionSpace.name}' /></div>
<div class="mainTitle"><h:outputText value="#{InviteUsersWizard.wizardTitle}" /></div>
<div class="mainSubText"><h:outputText value="#{InviteUsersWizard.wizardDescription}" /></div>
<div class="mainTitle"><h:outputText value="#{InviteSpaceUsersWizard.wizardTitle}" /></div>
<div class="mainSubText"><h:outputText value="#{InviteSpaceUsersWizard.wizardDescription}" /></div>
</td>
</tr>
</table>
@@ -111,10 +111,10 @@
<% PanelGenerator.generatePanelStart(out, request.getContextPath(), "white", "white"); %>
<table cellpadding="2" cellspacing="2" border="0" width="100%">
<tr>
<td class="mainSubTitle"><h:outputText value="#{InviteUsersWizard.stepTitle}" /></td>
<td class="mainSubTitle"><h:outputText value="#{InviteSpaceUsersWizard.stepTitle}" /></td>
</tr>
<tr>
<td class="mainSubText"><h:outputText value="#{InviteUsersWizard.stepDescription}" /></td>
<td class="mainSubText"><h:outputText value="#{InviteSpaceUsersWizard.stepDescription}" /></td>
</tr>
<tr><td class="paddingRow"></td></tr>
@@ -126,7 +126,7 @@
</tr>
<tr>
<%-- Picker to select Users/Groups --%>
<td><a:genericPicker id="picker" showAddButton="false" filters="#{InviteUsersWizard.filters}" queryCallback="#{InviteUsersWizard.pickerCallback}" /></td>
<td><a:genericPicker id="picker" showAddButton="false" filters="#{InviteSpaceUsersWizard.filters}" queryCallback="#{InviteSpaceUsersWizard.pickerCallback}" /></td>
</tr>
<tr>
<td><h:outputText value="#{msg.role}" /></td>
@@ -135,7 +135,7 @@
<td>
<div style="padding:4px">
<h:selectOneListbox id="roles" style="width:250px" size="5">
<f:selectItems value="#{InviteUsersWizard.roles}" />
<f:selectItems value="#{InviteSpaceUsersWizard.roles}" />
</h:selectOneListbox>
</div>
</td>
@@ -144,7 +144,7 @@
<tr><td class="paddingRow"></td></tr>
<tr>
<td class="mainSubText">
2. <h:commandButton value="#{msg.add_to_list_button}" actionListener="#{InviteUsersWizard.addSelection}" styleClass="wizardButton" />
2. <h:commandButton value="#{msg.add_to_list_button}" actionListener="#{InviteSpaceUsersWizard.addSelection}" styleClass="wizardButton" />
</td>
</tr>
@@ -154,11 +154,11 @@
</tr>
<tr>
<td>
<h:dataTable value="#{InviteUsersWizard.userRolesDataModel}" var="row"
<h:dataTable value="#{InviteSpaceUsersWizard.userRolesDataModel}" var="row"
rowClasses="selectedItemsRow,selectedItemsRowAlt"
styleClass="selectedItems" headerClass="selectedItemsHeader"
cellspacing="0" cellpadding="4"
rendered="#{InviteUsersWizard.userRolesDataModel.rowCount != 0}">
rendered="#{InviteSpaceUsersWizard.userRolesDataModel.rowCount != 0}">
<h:column>
<f:facet name="header">
<h:outputText value="#{msg.name}" />
@@ -166,12 +166,12 @@
<h:outputText value="#{row.label}" />
</h:column>
<h:column>
<a:actionLink actionListener="#{InviteUsersWizard.removeSelection}" image="/images/icons/delete.gif"
<a:actionLink actionListener="#{InviteSpaceUsersWizard.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="#{InviteUsersWizard.userRolesDataModel.rowCount == 0}">
<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>
@@ -186,7 +186,7 @@
<tr><td class="paddingRow"></td></tr>
<tr>
<td><h:outputText value="#{InviteUsersWizard.stepInstructions}" /></td>
<td><h:outputText value="#{InviteSpaceUsersWizard.stepInstructions}" /></td>
</tr>
</table>
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "white"); %>
@@ -197,13 +197,13 @@
<table cellpadding="1" cellspacing="1" border="0">
<tr>
<td align="center">
<h:commandButton value="#{msg.next_button}" action="#{InviteUsersWizard.next}" styleClass="wizardButton" />
<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="#{InviteUsersWizard.cancel}" styleClass="wizardButton" />
<h:commandButton value="#{msg.cancel_button}" action="#{InviteSpaceUsersWizard.cancel}" styleClass="wizardButton" />
</td>
</tr>
</table>

View File

@@ -70,8 +70,8 @@
</td>
<td>
<div class="mainSubTitle"><h:outputText value='#{BrowseBean.actionSpace.name}' /></div>
<div class="mainTitle"><h:outputText value="#{InviteUsersWizard.wizardTitle}" /></div>
<div class="mainSubText"><h:outputText value="#{InviteUsersWizard.wizardDescription}" /></div>
<div class="mainTitle"><h:outputText value="#{InviteSpaceUsersWizard.wizardTitle}" /></div>
<div class="mainSubText"><h:outputText value="#{InviteSpaceUsersWizard.wizardDescription}" /></div>
</td>
</tr>
</table>
@@ -111,10 +111,10 @@
<% 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="#{InviteUsersWizard.stepTitle}" /></td>
<td colspan=2 class="mainSubTitle"><h:outputText value="#{InviteSpaceUsersWizard.stepTitle}" /></td>
</tr>
<tr>
<td colspan=2 class="mainSubText"><h:outputText value="#{InviteUsersWizard.stepDescription}" /></td>
<td colspan=2 class="mainSubText"><h:outputText value="#{InviteSpaceUsersWizard.stepDescription}" /></td>
</tr>
<tr><td class="paddingRow"></td></tr>
@@ -123,7 +123,7 @@
</tr>
<tr>
<td colspan=2>
<h:selectOneRadio value="#{InviteUsersWizard.notify}">
<h:selectOneRadio value="#{InviteSpaceUsersWizard.notify}">
<f:selectItem itemValue="yes" itemLabel="#{msg.yes}" />
<f:selectItem itemValue="no" itemLabel="#{msg.no}" />
</h:selectOneRadio>
@@ -133,14 +133,14 @@
<tr>
<td><h:outputText value="#{msg.subject}" />:</td>
<td>
<h:inputText value="#{InviteUsersWizard.subject}" size="50" maxlength="256" />
<h:inputText value="#{InviteSpaceUsersWizard.subject}" size="50" maxlength="256" />
</td>
</tr>
<tr>
<td><h:outputText value="#{msg.body}" />:</td>
<td>
<h:inputTextarea value="#{InviteUsersWizard.body}" rows="2" cols="48" />
<h:inputTextarea value="#{InviteSpaceUsersWizard.body}" rows="2" cols="48" />
</td>
</tr>
@@ -153,7 +153,7 @@
<h:outputText value="#{msg.automatic_text}" />:
</td>
<td>
<h:outputText escape="false" value="#{InviteUsersWizard.automaticText}" />
<h:outputText escape="false" value="#{InviteSpaceUsersWizard.automaticText}" />
</td>
</tr>
</table>
@@ -162,7 +162,7 @@
<tr><td class="paddingRow"></td></tr>
<tr>
<td colspan=2><h:outputText value="#{InviteUsersWizard.stepInstructions}" /></td>
<td colspan=2><h:outputText value="#{InviteSpaceUsersWizard.stepInstructions}" /></td>
</tr>
</table>
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "white"); %>
@@ -173,18 +173,18 @@
<table cellpadding="1" cellspacing="1" border="0">
<tr>
<td align="center">
<h:commandButton value="#{msg.finish_button}" action="#{InviteUsersWizard.finish}" styleClass="wizardButton" />
<h:commandButton value="#{msg.finish_button}" action="#{InviteSpaceUsersWizard.finish}" styleClass="wizardButton" />
</td>
</tr>
<tr>
<td align="center">
<h:commandButton value="#{msg.back_button}" action="#{InviteUsersWizard.back}" styleClass="wizardButton" />
<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="#{InviteUsersWizard.cancel}" styleClass="wizardButton" />
<h:commandButton value="#{msg.cancel_button}" action="#{InviteSpaceUsersWizard.cancel}" styleClass="wizardButton" />
</td>
</tr>
</table>