Author: thomas.heute(a)jboss.com
Date: 2007-08-31 12:30:38 -0400 (Fri, 31 Aug 2007)
New Revision: 8127
Modified:
branches/JBoss_Portal_Branch_2_6/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/RenameAction.java
branches/JBoss_Portal_Branch_2_6/core-admin/src/resources/portal-admin-war/WEB-INF/faces-config.xml
branches/JBoss_Portal_Branch_2_6/core-admin/src/resources/portal-admin-war/WEB-INF/jsf/dashboard/dashboard.xhtml
branches/JBoss_Portal_Branch_2_6/core-admin/src/resources/portal-admin-war/WEB-INF/jsf/renameObject.xhtml
Log:
JBPORTAL-1311: Renaming a page should be possible in the dashboard and management portlet
Modified:
branches/JBoss_Portal_Branch_2_6/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/RenameAction.java
===================================================================
---
branches/JBoss_Portal_Branch_2_6/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/RenameAction.java 2007-08-31
16:02:18 UTC (rev 8126)
+++
branches/JBoss_Portal_Branch_2_6/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/RenameAction.java 2007-08-31
16:30:38 UTC (rev 8127)
@@ -28,8 +28,11 @@
import javax.faces.context.FacesContext;
import org.jboss.portal.core.admin.ui.PortalObjectManagerBean;
+import org.jboss.portal.core.admin.ui.dashboard.DashboardBean;
import org.jboss.portal.core.model.portal.DuplicatePortalObjectException;
import org.jboss.portal.core.model.portal.NoSuchPortalObjectException;
+import org.jboss.portal.core.model.portal.Page;
+import org.jboss.portal.core.model.portal.PageContainer;
import org.jboss.portal.core.model.portal.PortalObject;
import org.jboss.portal.core.model.portal.PortalObjectId;
import org.jboss.portal.core.model.portal.PortalObjectPath;
@@ -43,10 +46,12 @@
{
private String newName;
- /** . */
- private PortalObjectManagerBean portalObjectManager;
+ /** The page container that will create the child. */
+ public PageContainer pageContainer;
private DomainConfigurator domainConfigurator;
+
+ public Object bean;
public void setNewName(String newName)
{
@@ -55,6 +60,10 @@
public String getNewName()
{
+ if (newName == null)
+ {
+ newName = pageContainer.getName();
+ }
return newName;
}
@@ -68,39 +77,40 @@
{
this.domainConfigurator = domainConfigurator;
}
- public PortalObjectManagerBean getPortalObjectManager()
+
+ public PageContainer getPageContainer()
{
- return portalObjectManager;
+ return pageContainer;
}
- public void setPortalObjectManager(PortalObjectManagerBean portalObjectManager)
+ public void setPageContainer(PageContainer pageContainer)
{
- this.portalObjectManager = portalObjectManager;
+ this.pageContainer = pageContainer;
}
public String execute()
{
- PortalObject portalObject = (PortalObject)portalObjectManager.getSelectedObject();
- PortalObject parent = portalObject.getParent();
+ PortalObject parent = pageContainer.getParent();
+ PortalObject newObject = null;
try
{
// TODO: Should be in a tx
// Clone portal object
- PortalObject newObject = portalObject.copy(parent, newName, true);
+ newObject = pageContainer.copy(parent, newName, true);
// Copy security settings
- Set set =
domainConfigurator.getSecurityBindings(portalObject.getId().toString(PortalObjectPath.CANONICAL_FORMAT));
+ Set set =
domainConfigurator.getSecurityBindings(pageContainer.getId().toString(PortalObjectPath.CANONICAL_FORMAT));
domainConfigurator.setSecurityBindings(newObject.getId().toString(PortalObjectPath.CANONICAL_FORMAT),
set);
String defaultObject =
(String)parent.getDeclaredProperties().get(PortalObject.PORTAL_PROP_DEFAULT_OBJECT_NAME);
- if (portalObject.getName().equals(defaultObject))
+ if (pageContainer.getName().equals(defaultObject))
{
parent.setDeclaredProperty(PortalObject.PORTAL_PROP_DEFAULT_OBJECT_NAME,
newName);
}
// Destroy previous object
- parent.destroyChild(portalObject.getName());
+ parent.destroyChild(pageContainer.getName());
}
catch (IllegalArgumentException e)
{
@@ -116,8 +126,19 @@
{
e.printStackTrace();
}
- portalObjectManager.selectObject(parent);
- return "objects";
+
+ // TODO: This is not clean
+ if (bean instanceof PortalObjectManagerBean)
+ {
+ ((PortalObjectManagerBean)bean).selectObject(parent);
+ return "objects";
+ }
+ else if (bean instanceof DashboardBean)
+ {
+ ((DashboardBean)bean).selectedPageName = newObject.getName();
+ }
+
+ return null;
}
Modified:
branches/JBoss_Portal_Branch_2_6/core-admin/src/resources/portal-admin-war/WEB-INF/faces-config.xml
===================================================================
---
branches/JBoss_Portal_Branch_2_6/core-admin/src/resources/portal-admin-war/WEB-INF/faces-config.xml 2007-08-31
16:02:18 UTC (rev 8126)
+++
branches/JBoss_Portal_Branch_2_6/core-admin/src/resources/portal-admin-war/WEB-INF/faces-config.xml 2007-08-31
16:30:38 UTC (rev 8127)
@@ -288,15 +288,37 @@
<managed-bean-class>org.jboss.portal.core.admin.ui.actions.RenameAction</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
- <property-name>portalObjectManager</property-name>
- <value>#{sessionScope.portalobjectmgr}</value>
+ <property-name>pageContainer</property-name>
+ <value>#{portalobjectmgr.selectedObject}</value>
</managed-property>
<managed-property>
+ <property-name>bean</property-name>
+ <value>#{portalobjectmgr}</value>
+ </managed-property>
+ <managed-property>
<property-name>domainConfigurator</property-name>
<value>#{applicationScope.AuthorizationDomainRegistry.portalobject.configurator}</value>
</managed-property>
</managed-bean>
+ <managed-bean>
+ <managed-bean-name>renameDashboardPageAction</managed-bean-name>
+
<managed-bean-class>org.jboss.portal.core.admin.ui.actions.RenameAction</managed-bean-class>
+ <managed-bean-scope>request</managed-bean-scope>
+ <managed-property>
+ <property-name>pageContainer</property-name>
+ <value>#{dashboard.selectedPage}</value>
+ </managed-property>
+ <managed-property>
+ <property-name>bean</property-name>
+ <value>#{dashboard}</value>
+ </managed-property>
+ <managed-property>
+ <property-name>domainConfigurator</property-name>
+
<value>#{applicationScope.AuthorizationDomainRegistry.portalobject.configurator}</value>
+ </managed-property>
+ </managed-bean>
+
<!-- Constants -->
<managed-bean>
<managed-bean-name>PortalObject</managed-bean-name>
Modified:
branches/JBoss_Portal_Branch_2_6/core-admin/src/resources/portal-admin-war/WEB-INF/jsf/dashboard/dashboard.xhtml
===================================================================
---
branches/JBoss_Portal_Branch_2_6/core-admin/src/resources/portal-admin-war/WEB-INF/jsf/dashboard/dashboard.xhtml 2007-08-31
16:02:18 UTC (rev 8126)
+++
branches/JBoss_Portal_Branch_2_6/core-admin/src/resources/portal-admin-war/WEB-INF/jsf/dashboard/dashboard.xhtml 2007-08-31
16:30:38 UTC (rev 8127)
@@ -12,7 +12,7 @@
<table width="100%">
<tr>
- <th colspan="2" class="portlet-section-header"
align="center">Personal Dashboard Editor</th>
+ <th class="portlet-section-header" align="center">Personal
Dashboard Editor</th>
</tr>
<tr>
<td class="portlet-section-body" align="center">
@@ -31,6 +31,18 @@
</h:form>
</td>
</tr>
+ <tr>
+ <td align="left"
valign="top"><b>Rename this Page:</b><br/>New page
name: 
+ <h:form id="renameForm"
style="padding:0;margin:0">
+ <h:message for="newName"/>
+ <h:inputText id="newName"
value="#{renameDashboardPageAction.newName}"
+
styleClass="portlet-form-input-field"/>
+ <h:commandButton value="Rename"
+
action="#{renameDashboardPageAction.execute}"
+
styleClass="portlet-form-button"/>
+ </h:form>
+ </td>
+ </tr>
</table>
</td>
<td align="left" valign="top">
@@ -38,28 +50,29 @@
You can control the page titles, column layouts, page themes,
and add,
order, or remove portlets.
- </td>
+ </td>
</tr>
</table>
</td>
</tr>
<tr>
- <th colspan="2" class="portlet-section-header"
align="center">Currently editing page
#{dashboard.selectedPage.name}</th>
+ <td class="portlet-section-header" align="center">Currently
editing page #{dashboard.selectedPage.name}</td>
</tr>
<tr>
<td class="portlet-section-body" align="center">
<h:form id="page_selector_form"
style="padding:0;margin:0">
Select: <h:selectOneMenu
- id="pageNameSelector"
- value="#{dashboard.selectedPageName}"
- styleClass="portlet-form-field"
-
onchange="document.getElementById('page_selector_form').submit()">
- <f:selectItems value="#{dashboard.pageItems}"/>
+ id="pageNameSelector"
+ value="#{dashboard.selectedPageName}"
+ styleClass="portlet-form-field"
+
onchange="document.getElementById('page_selector_form').submit()">
+ <f:selectItems value="#{dashboard.pageItems}"/>
</h:selectOneMenu>
</h:form>
<br/>
</td>
</tr>
+
<tr>
<td>
<table width="100%">
Modified:
branches/JBoss_Portal_Branch_2_6/core-admin/src/resources/portal-admin-war/WEB-INF/jsf/renameObject.xhtml
===================================================================
---
branches/JBoss_Portal_Branch_2_6/core-admin/src/resources/portal-admin-war/WEB-INF/jsf/renameObject.xhtml 2007-08-31
16:02:18 UTC (rev 8126)
+++
branches/JBoss_Portal_Branch_2_6/core-admin/src/resources/portal-admin-war/WEB-INF/jsf/renameObject.xhtml 2007-08-31
16:30:38 UTC (rev 8127)
@@ -7,12 +7,12 @@
<ui:composition template="/WEB-INF/jsf/objectTemplate.xhtml">
<ui:param name="portalObjectScreen" value="Rename"/>
<ui:define name="content">
- <h3>Rename <h:outputText
value="#{portalobjectmgr.selectedObjectType}"/></h3>
+ <h3>Rename <h:outputText
value="#{portalobjectmgr.selectedObjectType}"/></h3>
<h:form id="renameForm">
+ <h:message for="newName"/>
<p>Rename the <h:outputText value="
#{portalobjectmgr.selectedObject.name} "/>
<h:outputText
value="#{portalobjectmgr.selectedObjectType}"/> to:
<h:inputText id="newName"
value="#{renameAction.newName}"/>
- <h:message for="newName"/>
<h:commandButton value="Rename"
action="#{renameAction.execute}"
styleClass="portlet-form-button"/>
</p>
</h:form>
Show replies by date