- Missing support for cms:tasksPanel in Foundry
- Some images for Foundry git-svn-id: https://svn.libreccm.org/ccm/trunk@3259 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
5a8b18e619
commit
8317d67cba
|
|
@ -132,4 +132,26 @@
|
|||
<translation lang="en">View Revision</translation>
|
||||
<translation lang="de">Revision ansehen</translation>
|
||||
</text>
|
||||
|
||||
<text id="taskPanel/noTasks">
|
||||
<translation lang="en">No tasks assigned</translation>
|
||||
<translation lang="de">Keine zugewiesenen Aufgaben vorhanden</translation>
|
||||
</text>
|
||||
<text id="taskPanel/notLocked">
|
||||
<translation lang="en">Not locked</translation>
|
||||
<translation lang="de">Nicht gesperrt</translation>
|
||||
</text>
|
||||
<text id="taskPanel/lockedByYou">
|
||||
<translation lang="en">Locked by you</translation>
|
||||
<translation lang="de">Durch Sie gesperrt</translation>
|
||||
</text>
|
||||
<text id="taskPanel/lockedBySomeoneElse">
|
||||
<translation lang="en">Locked by someone else</translation>
|
||||
<translation lang="de">Durch einen anderen Benutzer gesperrt</translation>
|
||||
</text>
|
||||
<text id="taskPanel/notAssigned">
|
||||
<translation lang="en">Not assigned</translation>
|
||||
<translation lang="de">Niemandem zugewiesen</translation>
|
||||
</text>
|
||||
|
||||
</foundry:static-texts>
|
||||
|
|
@ -24,5 +24,6 @@
|
|||
version="2.0">
|
||||
|
||||
<xsl:import href="cms/item-summary.xsl"/>
|
||||
<xsl:import href="cms/tasks-panel.xsl"/>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE stylesheet [<!ENTITY nbsp ' '>]>
|
||||
|
||||
<!--
|
||||
Copyright: 2006, 2007, 2008 Sören Bernstein
|
||||
|
||||
This file is part of Mandalay.
|
||||
|
||||
Mandalay is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Mandalay is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Mandalay. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!-- DE
|
||||
Hier werden die cmsTaskPanel verarbeitet
|
||||
-->
|
||||
|
||||
<!-- EN
|
||||
Processing cmsTaskPanel
|
||||
-->
|
||||
|
||||
<!-- Autor: Sören Bernstein -->
|
||||
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
|
||||
xmlns:cms="http://www.arsdigita.com/cms/1.0"
|
||||
xmlns:foundry="http://foundry.libreccm.org"
|
||||
xmlns:nav="http://ccm.redhat.com/navigation"
|
||||
exclude-result-prefixes="xsl bebop cms foundry nav"
|
||||
version="2.0">
|
||||
|
||||
<!-- EN Create a list of tasks -->
|
||||
<xsl:template match="cms:tasksPanel">
|
||||
<xsl:choose>
|
||||
<xsl:when test="count(cms:tasksPanelTask) = 0">
|
||||
<xsl:value-of select="foundry:get-static-text('cms', 'taskPanel/noTasks')"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<xsl:apply-templates select="bebop:link | bebop:label" mode="tableHeadCell"/>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="cms:tasksPanelTask"/>
|
||||
</tbody>
|
||||
</table>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<!-- EN Creates an entry to the list -->
|
||||
<xsl:template match="cms:tasksPanelTask">
|
||||
<tr>
|
||||
<td>
|
||||
<a>
|
||||
<xsl:attribute name="href"
|
||||
select="foundry:parse-link(concat(./@sectionPath,
|
||||
'/admin/item.jsp?item_id=',
|
||||
./@itemID))"/>
|
||||
<xsl:value-of select="./@pageTitle"/>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a title="{./@taskDescription}">
|
||||
<xsl:attribute name="href"
|
||||
select="foundry:parse-link(./@actionURL)"/>
|
||||
<xsl:value-of select="./@taskLabel"/>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<xsl:value-of select="./@dueDate"/>
|
||||
</td>
|
||||
<td>
|
||||
<xsl:choose>
|
||||
<xsl:when test="./@status = '1'">
|
||||
<xsl:value-of select="foundry:get-static-text('cms',
|
||||
'taskPanel/lockedByYou')"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="./@status = '2'">
|
||||
<xsl:value-of select="foundry:get-static-text('cms',
|
||||
'taskPanel/notLocked')"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="./@status = '3'">
|
||||
<xsl:value-of select="foundry:get-static-text('cms',
|
||||
'taskPanel/lockedBySomeoneElse')"/>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
<td>
|
||||
<xsl:choose>
|
||||
<xsl:when test="./@assignee">
|
||||
<xsl:value-of select="./@assignee"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="foundry:get-static-text('cms',
|
||||
'taskPanel/notAssigned')"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
<td>
|
||||
<xsl:value-of select="./@processLabel"/>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<!-- EN Special mode for a link or label in a table head -->
|
||||
<xsl:template match="bebop:link | bebop:label" mode="tableHeadCell">
|
||||
<th>
|
||||
<xsl:apply-templates select="."/>
|
||||
</th>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 611 B |
Binary file not shown.
|
After Width: | Height: | Size: 70 B |
Binary file not shown.
|
After Width: | Height: | Size: 53 B |
|
|
@ -15,8 +15,6 @@
|
|||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
|
||||
package com.arsdigita.london.util.ui;
|
||||
|
||||
import java.io.IOException;
|
||||
|
|
@ -42,11 +40,10 @@ import com.arsdigita.web.RedirectSignal;
|
|||
|
||||
public abstract class AbstractDomainObjectComponent extends SimpleContainer {
|
||||
|
||||
private static final Logger s_log =
|
||||
Logger.getLogger( AbstractDomainObjectComponent.class );
|
||||
private static final Logger s_log = Logger.getLogger(AbstractDomainObjectComponent.class);
|
||||
|
||||
private Map m_actions = new HashMap();
|
||||
private Map m_actionPrivileges = new HashMap();
|
||||
private Map m_actionPrivileges = new HashMap();
|
||||
private boolean m_redirecting;
|
||||
|
||||
public AbstractDomainObjectComponent(String cname,
|
||||
|
|
@ -80,13 +77,13 @@ public abstract class AbstractDomainObjectComponent extends SimpleContainer {
|
|||
try {
|
||||
fireDomainObjectActionEvent(
|
||||
new DomainObjectActionEvent(this, state, dobj, name));
|
||||
} catch( DomainObjectActionAbortedException ex ) {
|
||||
} catch (DomainObjectActionAbortedException ex) {
|
||||
aborted = true;
|
||||
if( s_log.isInfoEnabled() ) {
|
||||
if( s_log.isDebugEnabled() ) {
|
||||
s_log.debug( "Action aborted", ex );
|
||||
if (s_log.isInfoEnabled()) {
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Action aborted", ex);
|
||||
} else {
|
||||
s_log.info( "Action aborted" );
|
||||
s_log.info("Action aborted");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -101,13 +98,12 @@ public abstract class AbstractDomainObjectComponent extends SimpleContainer {
|
|||
protected void fireDomainObjectActionEvent(DomainObjectActionEvent ev) {
|
||||
Assert.isLocked(this);
|
||||
|
||||
EventListenerList listeners =
|
||||
(EventListenerList)m_actions.get(ev.getAction());
|
||||
EventListenerList listeners = (EventListenerList) m_actions.get(ev.getAction());
|
||||
|
||||
Iterator i = listeners
|
||||
.getListenerIterator(DomainObjectActionListener.class);
|
||||
while (i.hasNext()) {
|
||||
((DomainObjectActionListener)i.next()).actionPerformed(ev);
|
||||
((DomainObjectActionListener) i.next()).actionPerformed(ev);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -121,25 +117,27 @@ public abstract class AbstractDomainObjectComponent extends SimpleContainer {
|
|||
new EventListenerList());
|
||||
}
|
||||
|
||||
protected void registerDomainObjectAction(String action, PrivilegeDescriptor privilege) {
|
||||
registerDomainObjectAction(action);
|
||||
m_actionPrivileges.put(action, privilege);
|
||||
}
|
||||
|
||||
protected void registerDomainObjectAction(String action, PrivilegeDescriptor privilege) {
|
||||
registerDomainObjectAction(action);
|
||||
m_actionPrivileges.put(action, privilege);
|
||||
}
|
||||
|
||||
protected Iterator getDomainObjectActions() {
|
||||
return m_actions.keySet().iterator();
|
||||
}
|
||||
|
||||
/**
|
||||
* return privilegeDescripter registered against this action, or null if action was registered without
|
||||
* a privilege being specified
|
||||
* @param action
|
||||
* @return
|
||||
*/
|
||||
protected PrivilegeDescriptor getDomainObjectActionPrivilege (String action) {
|
||||
return (PrivilegeDescriptor)m_actionPrivileges.get(action);
|
||||
}
|
||||
/**
|
||||
* return privilegeDescripter registered against this action, or null if action was registered
|
||||
* without a privilege being specified
|
||||
*
|
||||
* @param action
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
protected PrivilegeDescriptor getDomainObjectActionPrivilege(String action) {
|
||||
return (PrivilegeDescriptor) m_actionPrivileges.get(action);
|
||||
}
|
||||
|
||||
public void addDomainObjectActionListener(String action,
|
||||
DomainObjectActionListener listener) {
|
||||
Assert.isUnlocked(this);
|
||||
|
|
@ -148,7 +146,7 @@ public abstract class AbstractDomainObjectComponent extends SimpleContainer {
|
|||
throw new RuntimeException("Action " + action + " not registered");
|
||||
}
|
||||
|
||||
EventListenerList listeners = (EventListenerList)m_actions.get(action);
|
||||
EventListenerList listeners = (EventListenerList) m_actions.get(action);
|
||||
listeners.add(DomainObjectActionListener.class, listener);
|
||||
}
|
||||
|
||||
|
|
@ -167,4 +165,5 @@ public abstract class AbstractDomainObjectComponent extends SimpleContainer {
|
|||
state.clearControlEvent();
|
||||
return url;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue