RelationAttribute
aktueller Stand git-svn-id: https://svn.libreccm.org/ccm/trunk@508 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
3892f343f3
commit
ab8c22becf
|
|
@ -55,6 +55,7 @@ import com.arsdigita.util.Reporter;
|
|||
import com.arsdigita.util.UncheckedWrapperException;
|
||||
import com.arsdigita.versioning.VersionedACSObject;
|
||||
import com.arsdigita.versioning.Versions;
|
||||
import java.util.logging.Level;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
|
@ -67,6 +68,7 @@ import java.util.Iterator;
|
|||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
/**
|
||||
* This class represents a content item.
|
||||
|
|
@ -200,33 +202,27 @@ import java.util.Set;
|
|||
*
|
||||
* @version $Id: ContentItem.java 1621 2007-09-13 12:43:12Z chrisg23 $
|
||||
*/
|
||||
public class ContentItem extends VersionedACSObject implements CustomCopy {
|
||||
public class ContentItem extends VersionedACSObject implements CustomCopy, RelationAttribute {
|
||||
|
||||
private static final Logger s_log = Logger.getLogger(ContentItem.class);
|
||||
private static final Logger s_logDenorm = Logger.getLogger(ContentItem.class.getName() + ".Denorm");
|
||||
|
||||
private static final String MODEL = "com.arsdigita.cms";
|
||||
private static final String QUERY_PENDING_ITEMS =
|
||||
MODEL + ".getPendingSortedByLifecycle";
|
||||
|
||||
public static final String BASE_DATA_OBJECT_TYPE = MODEL + ".ContentItem";
|
||||
|
||||
/**
|
||||
* A state marking the draft or master item corresponding to a
|
||||
* live or pending version of that item.
|
||||
*/
|
||||
public static final String DRAFT = "draft";
|
||||
|
||||
/**
|
||||
* A state marking the live version, a copy of the draft item.
|
||||
*/
|
||||
public static final String LIVE = "live";
|
||||
|
||||
/**
|
||||
* A state marking the live version, a copy of the draft item.
|
||||
*/
|
||||
public static final String PENDING = "pending";
|
||||
|
||||
// Metadata attribute constants
|
||||
public static final String ANCESTORS = "ancestors";
|
||||
public static final String PARENT = "parent";
|
||||
|
|
@ -236,14 +232,12 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
public static final String NAME = "name";
|
||||
public static final String LANGUAGE = "language";
|
||||
public static final String AUDITING = "auditing";
|
||||
|
||||
public static final String DRAFT_VERSION = "masterVersion";
|
||||
public static final String VERSIONS = "slaveVersions";
|
||||
public static final String CONTENT_SECTION = "section";
|
||||
|
||||
private static final String RELATION_ATTRIBUTES = "";
|
||||
private static final String PUBLISH_LISTENER_CLASS =
|
||||
PublishLifecycleListener.class.getName();
|
||||
|
||||
private VersionCache m_pending;
|
||||
private VersionCache m_live;
|
||||
private boolean m_wasNew;
|
||||
|
|
@ -310,17 +304,16 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
s_log.debug("Content item " + this + " created with type " + type);
|
||||
}
|
||||
}
|
||||
|
||||
private static DomainObjectObserver s_parentObs =
|
||||
new AbstractDomainObjectObserver() {
|
||||
|
||||
public void set(DomainObject dobj, String name,
|
||||
Object old, Object newVal) {
|
||||
if (PARENT.equals(name)) {
|
||||
ContentItem ci = (ContentItem) dobj;
|
||||
|
||||
if (newVal != null) {
|
||||
PermissionService.setContext
|
||||
(ci.getOID(), ((DataObject) newVal).getOID());
|
||||
PermissionService.setContext(ci.getOID(), ((DataObject) newVal).getOID());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -350,8 +343,8 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
m_reporter = new Reporter(s_log, this, ContentItem.class);
|
||||
|
||||
if (isNew()) {
|
||||
s_log.debug(this + " is being newly created; " +
|
||||
"marking it as a draft version");
|
||||
s_log.debug(this + " is being newly created; "
|
||||
+ "marking it as a draft version");
|
||||
|
||||
m_wasNew = true;
|
||||
|
||||
|
|
@ -361,8 +354,7 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
|
||||
try {
|
||||
final ContentType type =
|
||||
ContentType.findByAssociatedObjectType
|
||||
(getSpecificObjectType());
|
||||
ContentType.findByAssociatedObjectType(getSpecificObjectType());
|
||||
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Set content type for " + this + " to " + type);
|
||||
|
|
@ -404,7 +396,6 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
super.set(key, value);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* For new content items, sets the associated content type if it
|
||||
* has not been already set.
|
||||
|
|
@ -458,12 +449,12 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
if (parent != null && parent instanceof Folder) {
|
||||
setContentSection(((ContentItem) parent).getContentSection());
|
||||
} else {
|
||||
s_log.debug("The item's parent is not a folder; I am " +
|
||||
"not setting the default content section");
|
||||
s_log.debug("The item's parent is not a folder; I am "
|
||||
+ "not setting the default content section");
|
||||
}
|
||||
} else {
|
||||
s_log.debug("The item's version is null or it is not draft; " +
|
||||
"doing nothing");
|
||||
s_log.debug("The item's version is null or it is not draft; "
|
||||
+ "doing nothing");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -503,8 +494,7 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
* Get the parent object.
|
||||
*/
|
||||
public ACSObject getParent() {
|
||||
return (ACSObject) DomainObjectFactory.
|
||||
newInstance((DataObject) get(PARENT));
|
||||
return (ACSObject) DomainObjectFactory.newInstance((DataObject) get(PARENT));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -580,8 +570,7 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
* @return The content section to which this item belongs
|
||||
*/
|
||||
public ContentSection getContentSection() {
|
||||
return (ContentSection) DomainObjectFactory.newInstance
|
||||
((DataObject) get(CONTENT_SECTION));
|
||||
return (ContentSection) DomainObjectFactory.newInstance((DataObject) get(CONTENT_SECTION));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -677,8 +666,7 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
* @return the items on the path to the root folder.
|
||||
*/
|
||||
public ItemCollection getPathInfo(boolean includeSelf) {
|
||||
DataCollection collection = SessionManager.getSession().retrieve
|
||||
(BASE_DATA_OBJECT_TYPE);
|
||||
DataCollection collection = SessionManager.getSession().retrieve(BASE_DATA_OBJECT_TYPE);
|
||||
|
||||
String ids = (String) get(ANCESTORS);
|
||||
if (ids == null) {
|
||||
|
|
@ -718,7 +706,6 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
//
|
||||
// Methods for accessing and linking content item versions
|
||||
//
|
||||
|
||||
/**
|
||||
* Gets the version tag.
|
||||
*/
|
||||
|
|
@ -843,8 +830,7 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
DataQuery versions = getSession().retrieveQuery(QUERY_PENDING_ITEMS);
|
||||
versions.setParameter("itemID", getDraftVersion().getID());
|
||||
|
||||
return new ItemCollection
|
||||
(new DataQueryDataCollectionAdapter(versions, "item"));
|
||||
return new ItemCollection(new DataQueryDataCollectionAdapter(versions, "item"));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -909,7 +895,9 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
s_log.debug("Getting the live version of " + this);
|
||||
}
|
||||
|
||||
if ( LIVE.equals(getVersion()) ) { return this; }
|
||||
if (LIVE.equals(getVersion())) {
|
||||
return this;
|
||||
}
|
||||
|
||||
if (m_live.isCached()) {
|
||||
return m_live.get();
|
||||
|
|
@ -924,8 +912,7 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
|
||||
try {
|
||||
if (versions.next()) {
|
||||
ContentItem item = (ContentItem)
|
||||
DomainObjectFactory.newInstance(versions.getDataObject());
|
||||
ContentItem item = (ContentItem) DomainObjectFactory.newInstance(versions.getDataObject());
|
||||
return m_live.set(item);
|
||||
}
|
||||
return m_live.set(null);
|
||||
|
|
@ -992,7 +979,6 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
//
|
||||
// Publishing methods
|
||||
//
|
||||
|
||||
/**
|
||||
* Method to determine whether this ContentItem should
|
||||
* be automatically published to the file system.
|
||||
|
|
@ -1053,19 +1039,19 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
*/
|
||||
public void setLive(final ContentItem version) {
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Setting item " + this + " live with version " +
|
||||
version);
|
||||
s_log.debug("Setting item " + this + " live with version "
|
||||
+ version);
|
||||
}
|
||||
|
||||
if (Assert.isEnabled()) {
|
||||
Assert.isTrue(version == null || LIVE.equals(version.getVersion()),
|
||||
"Item version " + version + " must be null or " +
|
||||
"the live version");
|
||||
"Item version " + version + " must be null or "
|
||||
+ "the live version");
|
||||
}
|
||||
|
||||
if (isLive()) {
|
||||
s_log.debug("The item is already live; getting the current " +
|
||||
"live version");
|
||||
s_log.debug("The item is already live; getting the current "
|
||||
+ "live version");
|
||||
|
||||
final ContentItem oldVersion = getLiveVersion();
|
||||
|
||||
|
|
@ -1082,8 +1068,7 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
// XXX We don't need to use a custom query here
|
||||
// anymore.
|
||||
final DataQuery items =
|
||||
SessionManager.getSession().retrieveQuery
|
||||
("com.arsdigita.cms.getLiveItemsWithSameParent");
|
||||
SessionManager.getSession().retrieveQuery("com.arsdigita.cms.getLiveItemsWithSameParent");
|
||||
items.addNotEqualsFilter("id", oldVersion.getID());
|
||||
items.setParameter("itemId", oldVersion.getID());
|
||||
|
||||
|
|
@ -1095,8 +1080,8 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
parent = getParent();
|
||||
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug(oldVersion + " is the last child of " +
|
||||
parent);
|
||||
s_log.debug(oldVersion + " is the last child of "
|
||||
+ parent);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1117,15 +1102,15 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
|
||||
if (parent instanceof ContentBundle || parent instanceof Folder) {
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Parent of " + oldVersion + " is " + parent +
|
||||
"; unpublishing the parent");
|
||||
s_log.debug("Parent of " + oldVersion + " is " + parent
|
||||
+ "; unpublishing the parent");
|
||||
}
|
||||
|
||||
((ContentItem) parent).setLive(null);
|
||||
}
|
||||
|
||||
s_log.debug("Setting the live version association to null and " +
|
||||
"saving");
|
||||
s_log.debug("Setting the live version association to null and "
|
||||
+ "saving");
|
||||
|
||||
setLiveVersion(null);
|
||||
|
||||
|
|
@ -1133,8 +1118,8 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
}
|
||||
|
||||
if (version != null) {
|
||||
s_log.debug("The new version is not null; setting the live " +
|
||||
"version association");
|
||||
s_log.debug("The new version is not null; setting the live "
|
||||
+ "version association");
|
||||
|
||||
setLiveVersion(version);
|
||||
|
||||
|
|
@ -1167,9 +1152,9 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
Versions.suspendVersioning();
|
||||
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Publishing item " + this + " with lifecycle " +
|
||||
"definition " + cycleDef + " and start date " +
|
||||
startDate);
|
||||
s_log.debug("Publishing item " + this + " with lifecycle "
|
||||
+ "definition " + cycleDef + " and start date "
|
||||
+ startDate);
|
||||
}
|
||||
/* amended Chris Gilbert
|
||||
*
|
||||
|
|
@ -1183,8 +1168,7 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
if (listener == null) {
|
||||
listener = getPublishListenerClassName();
|
||||
}
|
||||
final Lifecycle cycle = cycleDef.createFullLifecycle
|
||||
(startDate, listener);
|
||||
final Lifecycle cycle = cycleDef.createFullLifecycle(startDate, listener);
|
||||
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Instantiated lifecycle " + cycle);
|
||||
|
|
@ -1199,10 +1183,10 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
|
||||
if (Assert.isEnabled()) {
|
||||
Assert.exists(pending, ContentItem.class);
|
||||
Assert.isTrue(PENDING.equals(pending.getVersion()) ||
|
||||
LIVE.equals(pending.getVersion()),
|
||||
"The new pending item must be pending or live; " +
|
||||
"instead it is " + pending.getVersion());
|
||||
Assert.isTrue(PENDING.equals(pending.getVersion())
|
||||
|| LIVE.equals(pending.getVersion()),
|
||||
"The new pending item must be pending or live; "
|
||||
+ "instead it is " + pending.getVersion());
|
||||
}
|
||||
return pending;
|
||||
}
|
||||
|
|
@ -1230,9 +1214,9 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
|
||||
if (isLive()) {
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("The item is currently live; removing the " +
|
||||
"lifecycle of the public version, " +
|
||||
getPublicVersion());
|
||||
s_log.debug("The item is currently live; removing the "
|
||||
+ "lifecycle of the public version, "
|
||||
+ getPublicVersion());
|
||||
}
|
||||
|
||||
removeLifecycle(getPublicVersion());
|
||||
|
|
@ -1306,8 +1290,8 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
|
||||
if (lifecycle == null) {
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("The item has no lifecycle; checking if the " +
|
||||
"public version has a lifecycle");
|
||||
s_log.debug("The item has no lifecycle; checking if the "
|
||||
+ "public version has a lifecycle");
|
||||
}
|
||||
|
||||
final ContentItem pub = getPublicVersion();
|
||||
|
|
@ -1320,8 +1304,8 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
final Lifecycle cyclelife = LifecycleService.getLifecycle(pub);
|
||||
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("The public version has a lifecycle; " +
|
||||
"returning " + cyclelife);
|
||||
s_log.debug("The public version has a lifecycle; "
|
||||
+ "returning " + cyclelife);
|
||||
}
|
||||
|
||||
return cyclelife;
|
||||
|
|
@ -1361,7 +1345,6 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
|
||||
// XXX domlay What is the relation of setLifecycle(Lifecycle) and
|
||||
// publish(LifecycleDefinition ...)? It doesn't seem coherent.
|
||||
|
||||
/**
|
||||
* Remove the associated lifecycle.
|
||||
*/
|
||||
|
|
@ -1370,8 +1353,8 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
// item?
|
||||
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Removing lifecycle instance from item " +
|
||||
itemToRemove);
|
||||
s_log.debug("Removing lifecycle instance from item "
|
||||
+ itemToRemove);
|
||||
}
|
||||
|
||||
LifecycleService.removeLifecycle(itemToRemove);
|
||||
|
|
@ -1394,7 +1377,6 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
//
|
||||
// Category stuff
|
||||
//
|
||||
|
||||
/**
|
||||
* @return all categories to which this item belongs
|
||||
*/
|
||||
|
|
@ -1426,9 +1408,9 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
|
||||
Category root = Category.getRootForObject(getContentSection(), useContext);
|
||||
if (null == root) {
|
||||
s_log.warn("No root category for " +
|
||||
getContentSection().getOID().toString() +
|
||||
" with context " + useContext);
|
||||
s_log.warn("No root category for "
|
||||
+ getContentSection().getOID().toString()
|
||||
+ " with context " + useContext);
|
||||
return Collections.EMPTY_LIST.iterator();
|
||||
}
|
||||
|
||||
|
|
@ -1502,7 +1484,6 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
//
|
||||
// Versioning stuff
|
||||
//
|
||||
|
||||
/**
|
||||
* Recursively copy this item, creating a clone.
|
||||
* Reassign composite associations from the copy to point
|
||||
|
|
@ -1569,6 +1550,7 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
|
||||
return newItem;
|
||||
}
|
||||
|
||||
/**
|
||||
* Transfer services, such as categories,
|
||||
* from the passed-in item to this item. This method should be
|
||||
|
|
@ -1658,8 +1640,8 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
* @param version The new Version to set
|
||||
*/
|
||||
protected void setVersionRecursively(final String version) {
|
||||
s_log.debug("Recursively updating the version attribute of the " +
|
||||
"item");
|
||||
s_log.debug("Recursively updating the version attribute of the "
|
||||
+ "item");
|
||||
|
||||
new VersionUpdater(version).updateItemVersion(this);
|
||||
}
|
||||
|
|
@ -1694,8 +1676,7 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
protected final boolean copyProperty(final ContentItem source,
|
||||
final String attribute,
|
||||
final ItemCopier copier) {
|
||||
throw new UnsupportedOperationException
|
||||
("use copyProperty(CustomCopy, Property, ItemCopier) for copying");
|
||||
throw new UnsupportedOperationException("use copyProperty(CustomCopy, Property, ItemCopier) for copying");
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -1891,7 +1872,6 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
//
|
||||
// Multilingual content
|
||||
//
|
||||
|
||||
/**
|
||||
* Language of the content item.
|
||||
*
|
||||
|
|
@ -1924,8 +1904,7 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
// slp.getLocale()
|
||||
|
||||
try {
|
||||
locale = Locale.fromJavaLocale
|
||||
(new java.util.Locale(getLanguage(),""));
|
||||
locale = Locale.fromJavaLocale(new java.util.Locale(getLanguage(), ""));
|
||||
} catch (GlobalizationException e) {
|
||||
s_log.warn("GlobalizationException thrown in getLocale()", e);
|
||||
throw new UncheckedWrapperException(e.getMessage());
|
||||
|
|
@ -1960,7 +1939,6 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
//
|
||||
// Deprecated methods and classes
|
||||
//
|
||||
|
||||
/**
|
||||
* Assert that this item is a top-level master object
|
||||
* @deprecated with no replacement
|
||||
|
|
@ -1972,11 +1950,11 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
//
|
||||
// Private utility methods and classes
|
||||
//
|
||||
|
||||
/**
|
||||
* Caches a version of this item.
|
||||
*/
|
||||
private class VersionCache {
|
||||
|
||||
private ContentItem m_version;
|
||||
private boolean m_cached;
|
||||
|
||||
|
|
@ -2007,11 +1985,13 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
m_cached = false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove any Links pointing to this item before deletion.
|
||||
* XXX This should go away when one-way association targets can
|
||||
* specify the equivalent of on delete set null
|
||||
*/
|
||||
@Override
|
||||
protected void beforeDelete() {
|
||||
super.beforeDelete();
|
||||
|
||||
|
|
@ -2034,18 +2014,15 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Overriding the Auditing interface in order to use the denormalized
|
||||
* information
|
||||
*/
|
||||
|
||||
/**
|
||||
* Gets the user who created the object. May be null.
|
||||
* @return the user who created the object.
|
||||
*/
|
||||
|
||||
@Override
|
||||
public User getCreationUser() {
|
||||
return m_audit_trail.getCreationUser();
|
||||
}
|
||||
|
|
@ -2054,7 +2031,7 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
* Gets the creation date of the object.
|
||||
* @return the creation date.
|
||||
*/
|
||||
|
||||
@Override
|
||||
public Date getCreationDate() {
|
||||
return m_audit_trail.getCreationDate();
|
||||
}
|
||||
|
|
@ -2064,7 +2041,7 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
* null.
|
||||
* @return the creation IP address.
|
||||
*/
|
||||
|
||||
@Override
|
||||
public String getCreationIP() {
|
||||
return m_audit_trail.getCreationIP();
|
||||
}
|
||||
|
|
@ -2073,7 +2050,7 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
* Gets the user who last modified the object. May be null.
|
||||
* @return the last modifying user.
|
||||
*/
|
||||
|
||||
@Override
|
||||
public User getLastModifiedUser() {
|
||||
return m_audit_trail.getLastModifiedUser();
|
||||
}
|
||||
|
|
@ -2082,7 +2059,7 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
* Gets the last modified date.
|
||||
* @return the last modified date.
|
||||
*/
|
||||
|
||||
@Override
|
||||
public Date getLastModifiedDate() {
|
||||
return m_audit_trail.getLastModifiedDate();
|
||||
}
|
||||
|
|
@ -2091,11 +2068,10 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
* Gets the last modified IP address. May be null.
|
||||
* @return the IP address associated with the last modification.
|
||||
*/
|
||||
|
||||
@Override
|
||||
public String getLastModifiedIP() {
|
||||
return m_audit_trail.getLastModifiedIP();
|
||||
}
|
||||
|
||||
protected static List extraXMLGenerators = new ArrayList();
|
||||
|
||||
/**
|
||||
|
|
@ -2106,4 +2082,12 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
|||
public List getExtraXMLGenerators() {
|
||||
return extraXMLGenerators;
|
||||
}
|
||||
|
||||
public boolean hasRelationAttributes() {
|
||||
return !RELATION_ATTRIBUTES.isEmpty();
|
||||
}
|
||||
|
||||
public StringTokenizer getRelationAttributes() {
|
||||
return new StringTokenizer(RELATION_ATTRIBUTES, ";");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
/*
|
||||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
|
||||
package com.arsdigita.cms;
|
||||
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author quasi
|
||||
*/
|
||||
public interface RelationAttribute {
|
||||
|
||||
public abstract boolean hasRelationAttributes();
|
||||
|
||||
public abstract StringTokenizer getRelationAttributes();
|
||||
|
||||
}
|
||||
|
|
@ -23,23 +23,27 @@ import com.arsdigita.persistence.DataObject;
|
|||
import com.arsdigita.domain.DataObjectNotFoundException;
|
||||
import com.arsdigita.cms.ContentType;
|
||||
import com.arsdigita.cms.ContentPage;
|
||||
import com.arsdigita.cms.RelationAttribute;
|
||||
import com.arsdigita.domain.DomainObjectFactory;
|
||||
import com.arsdigita.persistence.DataCollection;
|
||||
import com.arsdigita.util.Assert;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
|
||||
/**
|
||||
* This content type represents an basic contact
|
||||
*
|
||||
*/
|
||||
public class GenericContact extends ContentPage {
|
||||
public class GenericContact extends ContentPage implements RelationAttribute {
|
||||
|
||||
/** PDL property names */
|
||||
public static final String PERSON = "person";
|
||||
public static final String ADDRESS = "address";
|
||||
public static final String CONTACT_ENTRIES = "contactentries";
|
||||
|
||||
private static final String RELATION_ATTRIBUTES = "GenericContactType;GenericContactEntryType";
|
||||
|
||||
// Config
|
||||
private static final GenericContactConfig s_config = new GenericContactConfig();
|
||||
static {
|
||||
|
|
@ -140,4 +144,14 @@ public class GenericContact extends ContentPage {
|
|||
public boolean hasContactEntries() {
|
||||
return !this.getContactEntries().isEmpty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasRelationAttributes() {
|
||||
return !RELATION_ATTRIBUTES.isEmpty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public StringTokenizer getRelationAttributes() {
|
||||
return new StringTokenizer(RELATION_ATTRIBUTES, ";");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,25 +16,27 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
package com.arsdigita.cms.contenttypes;
|
||||
|
||||
import com.arsdigita.cms.ContentType;
|
||||
import com.arsdigita.cms.ContentPage;
|
||||
import com.arsdigita.cms.RelationAttribute;
|
||||
import com.arsdigita.domain.DataObjectNotFoundException;
|
||||
import com.arsdigita.persistence.DataCollection;
|
||||
import com.arsdigita.persistence.DataObject;
|
||||
import com.arsdigita.persistence.OID;
|
||||
import com.arsdigita.util.Assert;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Basic GenericPerson Contenttype for OpenCCM.
|
||||
*
|
||||
* @author Sören Bernstein
|
||||
* @author Jens Pelzetter
|
||||
*/
|
||||
public class GenericPerson extends ContentPage {
|
||||
public class GenericPerson extends ContentPage implements RelationAttribute {
|
||||
|
||||
public static final String PERSON = "person";
|
||||
public static final String SURNAME = "surname";
|
||||
|
|
@ -45,10 +47,11 @@ public class GenericPerson extends ContentPage {
|
|||
public static final String CONTACTS = "contacts";
|
||||
public static final String CONTACT_TYPE = "contact_type";
|
||||
public static final String CONTACT_ORDER = "contact_order";
|
||||
private static final String RELATION_ATTRIBUTES = "GenericContactType";
|
||||
|
||||
/** Data object type for this domain object */
|
||||
public static final String BASE_DATA_OBJECT_TYPE = "com.arsdigita.cms.contenttypes.GenericPerson";
|
||||
|
||||
|
||||
/**
|
||||
* Default constructor. This creates a new (empty) GenericPerson.
|
||||
**/
|
||||
|
|
@ -83,6 +86,7 @@ public class GenericPerson extends ContentPage {
|
|||
public String getSurname() {
|
||||
return (String) get(SURNAME);
|
||||
}
|
||||
|
||||
public void setSurname(String surname) {
|
||||
set(SURNAME, surname);
|
||||
}
|
||||
|
|
@ -90,6 +94,7 @@ public class GenericPerson extends ContentPage {
|
|||
public String getGivenName() {
|
||||
return (String) get(GIVENNAME);
|
||||
}
|
||||
|
||||
public void setGivenName(String givenName) {
|
||||
set(GIVENNAME, givenName);
|
||||
}
|
||||
|
|
@ -97,6 +102,13 @@ public class GenericPerson extends ContentPage {
|
|||
public String getTitlePre() {
|
||||
return (String) get(TITLEPRE);
|
||||
}
|
||||
public Date getBirthdate() {
|
||||
return (Date)get(BIRTHDATE);
|
||||
}
|
||||
public void setBirthdate(Date birthdate) {
|
||||
set(BIRTHDATE, birthdate);
|
||||
}
|
||||
|
||||
public void setTitlePre(String titlePre) {
|
||||
set(TITLEPRE, titlePre);
|
||||
}
|
||||
|
|
@ -104,17 +116,11 @@ public class GenericPerson extends ContentPage {
|
|||
public String getTitlePost() {
|
||||
return (String) get(TITLEPOST);
|
||||
}
|
||||
|
||||
public void setTitlePost(String titlePost) {
|
||||
set(TITLEPOST, titlePost);
|
||||
}
|
||||
|
||||
public Date getBirthdate() {
|
||||
return (Date)get(BIRTHDATE);
|
||||
}
|
||||
public void setBirthdate(Date birthdate) {
|
||||
set(BIRTHDATE, birthdate);
|
||||
}
|
||||
|
||||
// Get all contacts for this person
|
||||
public GenericPersonContactCollection getContacts() {
|
||||
return new GenericPersonContactCollection((DataCollection) get(CONTACTS));
|
||||
|
|
@ -140,4 +146,13 @@ public class GenericPerson extends ContentPage {
|
|||
return !this.getContacts().isEmpty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasRelationAttributes() {
|
||||
return !RELATION_ATTRIBUTES.isEmpty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public StringTokenizer getRelationAttributes() {
|
||||
return new StringTokenizer(RELATION_ATTRIBUTES, ";");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,832 @@
|
|||
cms.attributeset_is_already_locked=AttributeSet ist bereits gesperrt
|
||||
cms.attributeset_is_locked=AttributeSet ist gesperrt
|
||||
cms.cannot_create_xml_document=Kann XML Dokument nicht erstellen
|
||||
cms.cant_promote_folders=Can't promote folders
|
||||
cms.classnotfoundexception=ClassNotFoundException:
|
||||
cms.contenttypes.contact=Kontakt:
|
||||
cms.contenttypes.contact_details=Kontakt Details:
|
||||
cms.contenttypes.contact_information=Kontakt Information:
|
||||
cms.contenttypes.contactinfo=KontaktInfo:
|
||||
cms.contenttypes.cost=Kosten:
|
||||
cms.contenttypes.coudlnt_retrieve_text=Text konnte nicht gefunden werden
|
||||
cms.contenttypes.current_image=Gegenw\u00e4rtiges Bild\:
|
||||
cms.contenttypes.department=Abteilung:
|
||||
cms.contenttypes.end_date=Datum Ende:
|
||||
cms.contenttypes.end_time=Zeitpunkt Ende:
|
||||
cms.contenttypes.event_type_not_registered=Veranstaltungs-Typ noch nicht registriert
|
||||
|
||||
cms.ui.item.days=Tage
|
||||
|
||||
cms.ui.item.notification_period=Vorab Benachrichtigung:
|
||||
cms.ui.item.notification_period_before_start=Der Zeitraum f\u00fcr eine Vorab Benachrichtigung darf nicht l\u00e4nger als der Publikationszeitraum sein.
|
||||
cms.ui.item.hours=Stunden
|
||||
cms.contenttypes.grade=Grade:
|
||||
cms.contenttypes.image=Bilder:
|
||||
cms.contenttypes.installer.article_section=Artikel Abschnitt
|
||||
cms.contenttypes.installer.article_section_for_a_multipart_article=Artikel Abschnitt f\u00fcr einen mehrteiligen Artikel
|
||||
cms.contenttypes.job_description=Beschreibung:
|
||||
cms.contenttypes.job_type_not_registered=Inhaltstyp Job nicht registriert
|
||||
cms.contenttypes.lead=Beschreibung (Lead Text):
|
||||
cms.contenttypes.legalnotice_type_not_registered=Inhaltstyp LegalNotice nicht registriert
|
||||
cms.contenttypes.link=Link:
|
||||
cms.contenttypes.link_to_map=Karte (Link)\:
|
||||
cms.contenttypes.location=Ort:
|
||||
cms.contenttypes.main_contributor=Hauptredner\:
|
||||
cms.contenttypes.minutes_type_not_registered=Inhaltstyp Minutes nicht registriert
|
||||
cms.contenttypes.news_date=Datum:
|
||||
cms.contenttypes.newsitem_type_not_registered=Inhaltstyp NewsItem nicht registriert
|
||||
cms.contenttypes.no_content_section=Kein Inhaltsabschnitt
|
||||
cms.contenttypes.no_section=Kein Abschnitt
|
||||
cms.contenttypes.opening_time=\u00d6ffnungszeit\:
|
||||
cms.contenttypes.person_specification=Person Specification:
|
||||
cms.contenttypes.pressrelease_type_not_registered=Inhaltstyp PressRelease nicht registriert
|
||||
cms.contenttypes.ref_number=Ref. Nummer\:
|
||||
cms.contenttypes.salary=Gehalt:
|
||||
cms.contenttypes.service_type_not_registered=Inhaltstyp Service nicht registriert
|
||||
cms.contenttypes.services_provided=Verf\u00fcgbare Services:
|
||||
cms.contenttypes.start_date=Start Datum:
|
||||
cms.contenttypes.start_time=Beginn um\:
|
||||
cms.contenttypes.subjectitems=Themen\:
|
||||
cms.contenttypes.summary=Beschreibung:
|
||||
cms.contenttypes.title=Titel:
|
||||
cms.contenttypes.ui.action_item=Action Item:
|
||||
cms.contenttypes.ui.agenda_date=Zeit:
|
||||
cms.contenttypes.ui.agenda_date_and_time=Datum und Zeit:
|
||||
cms.contenttypes.ui.attendees=Teilnehmer:
|
||||
|
||||
cms.contenttypes.ui.bodyoverview=\u00dcbersicht\:
|
||||
cms.contenttypes.ui.closing_date=Abschluss am\:
|
||||
|
||||
cms.contenttypes.ui.contact_details=Kontakt Details:
|
||||
cms.contenttypes.ui.contact_info=Kontakt Info:
|
||||
cms.contenttypes.ui.contacts=Kontakte:
|
||||
cms.contenttypes.ui.content_group_current_items=Aktuelle Items:
|
||||
cms.contenttypes.ui.content_group_name=Inhalt Gruppen Name:
|
||||
cms.contenttypes.ui.content_group_new_item=Neuen Item hinzuf\u00fcgen:
|
||||
cms.contenttypes.ui.cost=Kosten:
|
||||
cms.contenttypes.ui.creation_date=Erstellungsdatum:
|
||||
cms.contenttypes.ui.date=Datum:
|
||||
cms.contenttypes.ui.department=Abteilung:
|
||||
cms.contenttypes.ui.description=Beschreibung:
|
||||
cms.contenttypes.ui.description_of_minutes=Description of Minutes:
|
||||
cms.contenttypes.ui.end_date=Enddatum:
|
||||
cms.contenttypes.ui.end_time=Ende um\:
|
||||
cms.contenttypes.ui.government_uid=Government UID:
|
||||
cms.contenttypes.ui.grade=Grad:
|
||||
cms.contenttypes.ui.homepage=Homepage?
|
||||
cms.contenttypes.ui.job_description=Job Beschreibung:
|
||||
cms.contenttypes.ui.launch_date=Ver\u00f6ffentlichungsdatum:
|
||||
cms.contenttypes.ui.lead=Beschreibung (Lead Text):
|
||||
cms.contenttypes.ui.lead_line=Beschreibung (Lead Zeile):
|
||||
cms.contenttypes.ui.link_to_map=Link to Map:
|
||||
cms.contenttypes.ui.location=Ort:
|
||||
cms.contenttypes.ui.main_contributor=Hauptredner\:
|
||||
cms.contenttypes.ui.name=Name:
|
||||
cms.contenttypes.ui.opening_times=\u00d6ffnungszeiten\:
|
||||
|
||||
cms.contenttypes.ui.person_specification=Person Specification:
|
||||
cms.contenttypes.ui.ref_code=Ref. Code:
|
||||
cms.contenttypes.ui.ref_code=Ref. Code:
|
||||
cms.contenttypes.ui.ref_number=Ref. Nr.:
|
||||
cms.contenttypes.ui.reference=Referenz:
|
||||
cms.contenttypes.ui.reference_code=Referenz Code:
|
||||
cms.contenttypes.ui.salary=Gehalt:
|
||||
cms.contenttypes.ui.services_provided=Verf\u00fcgbarer Service:
|
||||
cms.contenttypes.ui.start_date=Anfangsdatum:
|
||||
cms.contenttypes.ui.start_time=Anfangszeit:
|
||||
cms.contenttypes.ui.subject_items=Subject Items:
|
||||
cms.contenttypes.ui.summary=Beschreibung:
|
||||
cms.contenttypes.ui.there_are_no_events=Keine Ereignisse vorhanden
|
||||
cms.contenttypes.ui.title=Titel:
|
||||
cms.contenttypes.ui.view_image=Bild anzeigen
|
||||
cms.contenttypes.ui.event_start_time=Event Beginn um\:
|
||||
cms.contenttypes.ui.event_end_time=Event Ende um\:
|
||||
cms.dispatcher.cannot_find_domain_object=Domain Object nicht auffindbar
|
||||
cms.dispatcher.could_not_find_imageasset=ImageAsset nicht auffindbar:
|
||||
cms.dispatcher.failed_to_retrieve_imageasset=ImageAsset nicht auffindbar:
|
||||
cms.dispatcher.no_permission_to_access_resource=Keine Rechte f\u00fcr diese Ressource
|
||||
cms.dispatcher.not_implemented=nicht implementiert
|
||||
cms.dispatcher.unknown_context=Unbekannter Kontext:
|
||||
cms.formbuilder.cannot_create_acsobject=ACSObject kann nicht erstellt werden
|
||||
cms.formbuilder.cannot_instantiate_object=Object kann nicht instantiiert werden
|
||||
cms.formbuilder.no_such_form=Form nicht vorhanden
|
||||
cms.formbuilder.roll_me_back=Roll me back
|
||||
cms.formbuilder.css=Cascading Style Sheet (CSS) Class Attribute
|
||||
cms.illegalaccessexception=IllegalAccessException:
|
||||
cms.image.erroneous_jpeg_marker_length=Erroneous JPEG marker length
|
||||
cms.image.expected_soi_marker_first=Expected SOI marker first
|
||||
cms.image.not_a_jpeg_file=Keine JPEG Datei
|
||||
cms.installer.approval=Akzeptieren
|
||||
cms.installer.article=Artikel
|
||||
cms.installer.authoring=Verfassen
|
||||
cms.installer.cannot_find_cms_package_type=kann CMS Pakettyp nicht finden
|
||||
cms.installer.cannot_find_content_type=kann Inhaltstyp nicht finden
|
||||
cms.installer.cannot_find_file=kann Datei nicht finden
|
||||
cms.installer.cannot_find_group_for_email=Kann email-Gruppe nicht finden
|
||||
cms.installer.cannot_read_line_of_data=Kann Datensatz nicht lesen
|
||||
cms.installer.cannot_set_template_text=Kann Template Text nicht festlegen
|
||||
cms.installer.could_not_load_section=Kann die folgende ContentSection nicht laden '{0}'
|
||||
cms.installer.deploy=anwenden
|
||||
cms.installer.failed_to_update_the_default_content_section=Update der Default Content Section gescheitert.
|
||||
cms.installer.formbuilder.form=Form
|
||||
cms.installer.formbuilder.form_section=Form Abschnitt
|
||||
cms.installer.production_workflow=Production Workflow
|
||||
cms.installer.root_folder=Basisverzeichnis
|
||||
cms.installer.root_site_node_missing=Root site node missing
|
||||
cms.installer.simple_publication=Einfache Ver\u00f6ffentlichung
|
||||
cms.installer.template=Vorlage
|
||||
cms.instantiationexception=InstantiationException:
|
||||
cms.lifecycle.could_not_fetch_lifecycle=Could not fetch lifecycle:
|
||||
cms.lifecycle.could_not_fetch_phase=Could not fetch phase:
|
||||
cms.ui.item.lifecycle.start_date_in_past=Das Anfangsdatum darf nicht in der Vergangenheit liegen.
|
||||
cms.ui.item.lifecycle.end_date_before_start_date=Das Enddatum darf nicht vor dem Anfangsdatum liegen.
|
||||
cms.nosuchmethodexception=NoSuchMethodException:
|
||||
cms.publishToFile.cannot_find_file=Datei nicht gefunden
|
||||
cms.publishToFile.cannot_find_item_class=Item Class nicht gefunden
|
||||
cms.publishToFile.cannot_find_server=Server nicht auffindbar
|
||||
cms.publishToFile.cannot_get_sequence_value=cannot get sequence value
|
||||
cms.publishToFile.cannot_read_template_text=cannot read template text
|
||||
cms.publishToFile.could_not_get_object_for_oid=Could not get object for oid
|
||||
cms.publishToFile.error_executing=Ausf\u00fchrungsfehler bei '{0}' \:
|
||||
cms.publishToFile.exit_value_was=Exit Code war
|
||||
cms.publishToFile.interrupted_when_doing=Unterbrochen bei Ausf\u00fchren von '{0}'
|
||||
cms.publishToFile.invalid_brokenlinkaction=Ung\u00fcltige BrokenLinkAction\:
|
||||
cms.publishToFile.invalid_reference_target_type=Ung\u00fcltige reference target type\:
|
||||
cms.publishToFile.malformed_url=Falsche Struktur der URL\:
|
||||
cms.publishToFile.not_found_in_servers_list= In der Server Liste unauffindbar
|
||||
cms.publishToFile.publish_to_file_listener_could_not_be_created=Publish to file listener could not be created:
|
||||
cms.publishToFile.publish_to_file_setlocalrequestpassword_could_not_be_created=Publish to file SetLocalRequestPassword could not be created:
|
||||
cms.publishToFile.publishsource_sourcebase_must_end_in_=PublishSource sourceBase must end in '/'
|
||||
cms.publishToFile.server=Server
|
||||
cms.publishToFile.unable_to_find_closing_for_tag=Schlie\u00dfendenes '>' nicht vorhanden.
|
||||
cms.publishToFile.unable_to_get_contentitem=ContentItem nicht aufrufbar\:
|
||||
cms.contenttypes.ui.address=Adresse:
|
||||
cms.tasks.ui.anyone=Jedermann
|
||||
cms.tasks.ui.assigned_to=Zugewiesen an:
|
||||
cms.tasks.ui.assignment_info=Zuweisungsinfo
|
||||
cms.tasks.ui.content_center=Dokumentenverwaltung
|
||||
cms.tasks.ui.create=Erstellen
|
||||
cms.tasks.ui.description=Beschreibung
|
||||
cms.tasks.ui.disabled=Deaktiviert
|
||||
cms.tasks.ui.due_date=F\u00e4lligkeitsdatum
|
||||
cms.tasks.ui.due_on=F\u00e4llig am
|
||||
cms.tasks.ui.enabled=Aktiviert
|
||||
cms.tasks.ui.entered_by=Eingegeben von\:
|
||||
cms.tasks.ui.finished=Abgeschlossen
|
||||
cms.tasks.ui.mark_task_as_finished=Aufgabe als abgeschlossen markieren
|
||||
cms.tasks.ui.me=Ich
|
||||
cms.tasks.ui.no_assigned_tasks=Es gibt gegenw\u00e4rtig keine zugewiesenen Aufgaben.
|
||||
cms.tasks.ui.no_assignees=No Assignees
|
||||
cms.tasks.ui.no_user_logged_in=Es ist kein Benutzer angemeldet, es kann keine Aufgabe angezeit werden.
|
||||
cms.tasks.ui.status=Status:
|
||||
cms.tasks.ui.status_no_colon=Status
|
||||
cms.tasks.ui.task_type=Aufgabentyp
|
||||
cms.tasks.ui.title=Titel
|
||||
cms.tasks.ui.workflow=Bearbeitungsfluss
|
||||
cms.templates=Vorlagen
|
||||
|
||||
cms.title=Titel
|
||||
cms.ui.Authoring=Verfassen
|
||||
cms.ui.History=Historie
|
||||
cms.ui.Lifecycle=Ver\u00f6ffentlichungszyklus
|
||||
cms.ui.Publishing=Herausgabe
|
||||
cms.ui.Summary=Zusammenfassung
|
||||
cms.ui.template=Vorlage
|
||||
cms.ui.Templates=Vorlagen
|
||||
cms.ui.action=Aktion
|
||||
cms.ui.actions=Aktionen
|
||||
cms.ui.all_items=Alle Inhalte
|
||||
|
||||
cms.ui.assigned_categories=Zugewiesene Kategorien:
|
||||
cms.ui.attention=Obacht!
|
||||
cms.ui.authoring.an_item_with_this_name_already_exists=Ein Item mit diesem Namen existiert
|
||||
cms.ui.authoring.bad_getblob_datatype=Ung\u00fcltiger Datentyp getBlob
|
||||
cms.ui.authoring.bad_getclob_datatype=Ung\u00fcltiger Datentyp getBlob
|
||||
cms.ui.authoring.body=Textbereich:
|
||||
cms.ui.authoring.caption=Untertitel:
|
||||
cms.ui.authoring.content_type=Inhaltstyp:
|
||||
cms.ui.authoring.couldnt_create_contentpage=Konnte ContentPage nicht erstellen
|
||||
cms.ui.authoring.edit_body_text=Textk\u00f6rper editieren:
|
||||
cms.ui.authoring.edit_caption=Untertitel editieren
|
||||
cms.ui.authoring.file_action=File Action
|
||||
cms.ui.authoring.image_action=Image Action
|
||||
cms.ui.authoring.invalid_create_component=Creation component for parent content type is invalid.
|
||||
cms.ui.authoring.missing_content_type=Missing content type
|
||||
cms.ui.authoring.missing_item_id=Missing item id
|
||||
cms.ui.authoring.name=Name:
|
||||
cms.ui.authoring.name_url=Name (URL):
|
||||
cms.ui.authoring.no_asset=Kein Asset
|
||||
cms.ui.authoring.no_content_types_were_found=Keine Inhaltstypen gefunden
|
||||
cms.ui.authoring.no_current_wizard=No current wizard
|
||||
cms.ui.authoring.not_implemented=Nicht implementiert
|
||||
cms.ui.authoring.page_launch_date=Ver\u00f6ffentlichungsdatum:
|
||||
cms.ui.authoring.page_title=Titel der Seite:
|
||||
cms.ui.authoring.remove_image=Bild entfernen
|
||||
cms.ui.authoring.select_an_existing_image=Vorhandenes Bild ausw\u00c4hlen
|
||||
cms.ui.authoring.sql_error_in_getting_byte_content=SQL Error in getting byte content!
|
||||
cms.ui.authoring.sqle=SQLE
|
||||
cms.ui.authoring.steps=Authoring steps
|
||||
cms.ui.authoring.submission_cancelled=Submission Cancelled
|
||||
cms.ui.authoring.text_type=Text Type:
|
||||
cms.ui.authoring.this_article_does_not_have_an_image=Dieser Artikel hat kein Bild.
|
||||
cms.ui.authoring.title=Titel:
|
||||
cms.ui.authoring.unable_to_load_file=Datei konnte nicht geladen werden:
|
||||
cms.ui.authoring.upload_a_new_image=Neues Bild hochladen
|
||||
cms.ui.authoring.upload_image=Bild hochladen:
|
||||
cms.ui.authoring.file_upload.auto_detect=(automatisch)
|
||||
cms.ui.authoring.file_upload.file_type=Dateityp:
|
||||
cms.ui.file=Datei:
|
||||
cms.ui.authoring.none=<i>niemand</i>
|
||||
cms.ui.authoring.workflow=Arbeitsablauf w\u00e4hlen
|
||||
cms.ui.authoring_kit_has_more_than_one_step=Dieses Authorenkit hat mehr als einen Schritt:
|
||||
cms.ui.authoring_kit_has_no_steps=Dieses Authorenkit hat keine Schritte:
|
||||
cms.ui.authoringkit.authoring_kit_for=Authorenkit f\u00fcr
|
||||
cms.ui.authoringkit.component=Komponente:
|
||||
cms.ui.authoringkit.content_type_id=Inhaltstyp ID#
|
||||
cms.ui.authoringkit.create_component=Komponente erstellen:
|
||||
cms.ui.authoringkit.createcomponent=Komponentenerstellung:
|
||||
cms.ui.authoringkit.current_row_does_not_exists=Aktuelle Zeile existiert nicht
|
||||
cms.ui.authoringkit.description=Beschreibung:
|
||||
cms.ui.authoringkit.description_bundle=Description Bundle
|
||||
cms.ui.authoringkit.description_key=Description Key
|
||||
cms.ui.authoringkit.do_you_really_want_to_delete_this_authoring_step=Soll dieser Schritt wirklich gel\u00f6scht werden?
|
||||
cms.ui.authoringkit.label=Label:
|
||||
cms.ui.authoringkit.label_bundle=Label Bundle
|
||||
cms.ui.authoringkit.label_key=Label Key
|
||||
cms.ui.authoringkit.ordering=Ordering:
|
||||
cms.ui.authoringkit.submission_cancelled=Submission Cancelled
|
||||
cms.ui.available_categories=Verf\u00fcgbare Kategorien:
|
||||
cms.ui.browse=Navigation
|
||||
cms.ui.browse_items_by_category=Durchsicht der Elemente nach Kategorien
|
||||
cms.ui.cancel=Abbruch
|
||||
cms.ui.cancel_hit=Abbruch dr\u00fccken
|
||||
cms.ui.cancelled=abgebrochen
|
||||
cms.ui.cannot_assign_groups_to_owner=cannot assign groups to owner
|
||||
cms.ui.categories=Kategorien
|
||||
cms.ui.category._back= (zur\u00fcck)
|
||||
cms.ui.category.add=Kategorie hinzuf\u00fcgen
|
||||
cms.ui.category.add_index_item=Set index item
|
||||
cms.ui.category.add_use_context=Add Use Context
|
||||
cms.ui.category.assigned_purposes=Assigned Purposes:
|
||||
cms.ui.category.available_purposes=Available Purposes:
|
||||
cms.ui.category.batch_categorized_objects=Batch Order Items in This Category
|
||||
cms.ui.category.batch_order_objects_order=Priorit\u00e4t
|
||||
cms.ui.category.batch_order_objects_title=Titel
|
||||
cms.ui.category.categorized_objects=Objekte in dieser Kategorie anordnen
|
||||
cms.ui.category.category.current=Aktuelle Kategorie
|
||||
cms.ui.category.change_index_item=Change index item
|
||||
cms.ui.category.content_item=Content Item
|
||||
cms.ui.category.delete=Kategorie l\u00f6schen
|
||||
cms.ui.category.delete_prompt=Wollen Sie wirklich diese Kategorie l\u00f6schen?
|
||||
cms.ui.category.descriptionn=Beschreibung:\n
|
||||
cms.ui.category.details=Kategorie Einzelheiten
|
||||
cms.ui.category.edit=Kategorie bearbeiten
|
||||
cms.ui.category.edit_a_category=Eine Kategorie bearbeiten
|
||||
cms.ui.category.edit_purposes=Edit purposes
|
||||
cms.ui.category.index_item.select=Index Element f\u00fcr diese Kategorie ausw\u00e4hlen
|
||||
cms.ui.category.index_item=Index Element
|
||||
cms.ui.category.intro=Kategory ausw\u00e4hlen
|
||||
cms.ui.category.is_abstract=Is abstract?
|
||||
cms.ui.category.is_enabled=Aktiviert?
|
||||
cms.ui.category.is_not_abstract=K\u00f6nnen Sie Objekte dieser Kategory zuordnen?
|
||||
cms.ui.category.item.none=Es gibt keine Elemente in dieser Kategory
|
||||
cms.ui.category.item=Kategorisierte Elemente
|
||||
cms.ui.category.labeln=Label:\n
|
||||
cms.ui.category.linked.add=Verkn\u00fcpfte Kategorien hinzuf\u00fcgen oder entfernen
|
||||
cms.ui.category.linked.none=Diese Kategorie hat keine verkn\u00fcpften Kategorien
|
||||
cms.ui.category.linked=Verkn\u00fcpfte Kategorien
|
||||
cms.ui.category.localizations=Sprachversionen
|
||||
cms.ui.category.localization.add=Sprachversion hinzuf\u00fcgen
|
||||
cms.ui.category.localization.name=Name
|
||||
cms.ui.category.localization.description=Beschreibung
|
||||
cms.ui.category.localization.url=URL
|
||||
cms.ui.category.localization.locale=Sprache
|
||||
cms.ui.category.localization.action=Aktion
|
||||
cms.ui.category.localization.confirm_delete=Soll diese Sprachversion gel\u00f6scht werden?
|
||||
cms.ui.category.localization.none=Diese Kategorie hat keine Sprachversionen
|
||||
cms.ui.category.localization.error_locale=Bitte w\u00e4hlen Sie eine Sprache aus
|
||||
cms.ui.category.name_not_unique=Es gibt bereits eine Kategorie mit diesem Namen.
|
||||
cms.ui.category.no_categorized_objects=Es gibt keine kategorisierten Objekte
|
||||
cms.ui.category.no_category_purposes=No Category Purposes
|
||||
cms.ui.category.no_linked_categories=No linked categories
|
||||
cms.ui.category.no_subcategories=No subcategories
|
||||
cms.ui.category.purpose.add=Add or remove category purposes
|
||||
cms.ui.category.purpose.assigned=Assigned purposes
|
||||
cms.ui.category.purpose.available=Available purposes
|
||||
cms.ui.category.purpose.none=This category has no assigned purposes
|
||||
cms.ui.category.purposes=Category purposes
|
||||
cms.ui.category.return=Return
|
||||
cms.ui.category.select_index_item=Select index item for category
|
||||
cms.ui.category.subcategories=Subcategories
|
||||
cms.ui.category.subcategory.none=This category has no subcategories
|
||||
cms.ui.category.templates=Category templates
|
||||
cms.ui.category.templates.assigned=Assigned templates
|
||||
cms.ui.category.there_are_no_items_in_this_category=There are no items in this category
|
||||
cms.ui.category.url=URL
|
||||
cms.ui.category.use_context=Use Context
|
||||
cms.ui.category.use_contexts=Use Contexts
|
||||
cms.ui.category.use_context_must_be_unique=Use context must be unique within a Content Section.
|
||||
cms.ui.choose_target_folder=Zielordner ausw\u00e4hlen
|
||||
cms.ui.content_center=Content center
|
||||
cms.ui.content_item=Dokument
|
||||
cms.ui.content_section=Content section
|
||||
cms.ui.content_section_configuration=<h2>Content Section Configuration</h2>
|
||||
cms.ui.content_types=Dokumenttypen
|
||||
cms.ui.cse=Bald abgelaufen
|
||||
cms.ui.cse.authorName=Verfasser
|
||||
cms.ui.cse.itemName=Name
|
||||
cms.ui.cse.view=Anzeigen
|
||||
cms.ui.cse.viewLink=anzeigen
|
||||
cms.ui.cse.edit=Edit
|
||||
cms.ui.cse.editLink=edit
|
||||
cms.ui.cse.endDateTime=aktiv bis
|
||||
cms.ui.user_admin=Benutzerverwaltung
|
||||
cms.ui.contents_of=Inhalt von
|
||||
cms.ui.create=Erstellen
|
||||
cms.ui.default_locale=Voreingestellte Sprache\:
|
||||
cms.ui.delete=L\u00f6schen
|
||||
cms.ui.description=Beschreibung
|
||||
cms.ui.edit=Bearbeiten
|
||||
cms.ui.edit_folder=Aktuellen Ordner umbenennen
|
||||
cms.ui.email=Email
|
||||
cms.ui.enter_a_keyword=Schl\u00fcsselwort eingeben:
|
||||
cms.ui.enter_first_name_last_name_andor_email_address=Enter first name, last name, and/or email address:
|
||||
cms.ui.enter_first_name_last_name_email_address_andor_group_name=Enter first name, last name, email address and/or Group Name:
|
||||
cms.ui.failed_to_create_new_dp_item=Failed to create a new DP Item.
|
||||
cms.ui.failed_to_fetch_content_section_for_item=Failed to fetch the content section for the item:
|
||||
cms.ui.failed_to_fetch_content_type=Failed to fetch content type for
|
||||
cms.ui.failed_to_find_java_class_for_authoring_component=Failed to find the Java class for this authoring step component:
|
||||
cms.ui.failed_to_generate_new_id=Failed to generate a new sequence ID.
|
||||
cms.ui.failed_to_instantiate_authoring_component=Failed to instantiate this authoring step component:
|
||||
cms.ui.failed_to_retrieve=Failed to retrieve:
|
||||
cms.ui.failed_to_validate_title_uniqueness=Failed to validate title uniqueness
|
||||
cms.ui.finish=Beenden
|
||||
cms.ui.folder.cancelled=Abgebrochen
|
||||
cms.ui.folder.cannot_find_a_root_folder=Kein Wurzelverzeichnis gefunden.
|
||||
cms.ui.folder.na=K.A.
|
||||
cms.ui.folder.no_source_items_specified=Kein Quelldokument angegeben.
|
||||
cms.ui.folder.parent=\u00dcbergeordneter Ordner
|
||||
cms.ui.folder.rename=Ornder umbenennen
|
||||
cms.ui.folder_browser=Ordner durchsehen
|
||||
cms.ui.for=for
|
||||
cms.ui.formbuilder.description=Beschreibung:
|
||||
cms.ui.formbuilder.name=Name:
|
||||
cms.ui.formbuilder.oh_no_you_dont=Oh no you don't
|
||||
cms.ui.formbuilder.title=Titel\:
|
||||
cms.ui.help=Hilfe
|
||||
cms.ui.history.history=Verlauf
|
||||
cms.ui.history.no_history=Kein Verlauf
|
||||
cms.ui.history.preview=Vorschau
|
||||
cms.ui.history.rollback=Rollback
|
||||
cms.ui.insufficient_privileges=Unzureichende Rechte
|
||||
cms.ui.invalid_item_id=Ung\u00fcltiges Objekt Id\:{0}
|
||||
cms.ui.item=Dokument
|
||||
cms.ui.item.access_denied=Zugriff verweigert.
|
||||
cms.ui.item.apply_a_lifecycle=Lebenszyklus zuordnen
|
||||
cms.ui.item.authoring=Verfassen
|
||||
cms.ui.item.categories.assigned=Zugewiesene Kategorien
|
||||
cms.ui.item.categories.available=Verf\u00fcgbare Kategorien
|
||||
cms.ui.item.current_row_does_not_exist=Aktuelle Zeile existiert nicht
|
||||
cms.ui.item.edit_lifecycle=Lebenszyklus bearbeiten
|
||||
cms.ui.item.end_date=Ende am\:
|
||||
cms.ui.item.end_time=Ende um\:
|
||||
cms.ui.item.end_time_incomplete=Zeitangabe unvollst\u00e4ndig
|
||||
cms.ui.item.history=Historie
|
||||
cms.ui.item.invalid_end_date_please_try_again=Ung\u00fcltiges Enddatum, bitte erneut versuchen
|
||||
cms.ui.item.invalid_start_date_please_try_again=Un\u00fcltiges Anfangsdatum, bitte erneut versuchen
|
||||
cms.ui.item.language.add=Sprache hinzuf\u00fcgen
|
||||
cms.ui.item.language.change=Sprache \u00e4ndern
|
||||
cms.ui.item.languages=Sprachen
|
||||
cms.ui.item.lifecycle.apply=Anzuwendenden Lebenszyklus ausw\u00e4hlen
|
||||
cms.ui.item.lifecycle.end_date=Enddatum
|
||||
cms.ui.item.lifecycle.end_time=Ende um
|
||||
cms.ui.item.lifecycle.intro=Dieses Dokument ist gegenw\u00e4rtig nicht publiziert.
|
||||
cms.ui.item.lifecycle.publish=Dokument publizieren
|
||||
cms.ui.item.lifecycle.republish=Dokument erneut publizieren
|
||||
cms.ui.item.lifecycle.start_date=Anfangsdatum
|
||||
cms.ui.item.lifecycle.start_time=Beginn um
|
||||
cms.ui.item.lifecycle.unpublish=Dokument zur\u00fcckziehen
|
||||
cms.ui.item.lifecycle=Lebenszyklus
|
||||
cms.ui.item.lifecycles=Ver\u00f6ffentlichen
|
||||
cms.ui.item.preview=Vorschau
|
||||
cms.ui.item.reapply_a_lifecycle=Lebenszyklus erneut anwenden
|
||||
cms.ui.item.revision.added=Hinzugef\u00fcgt zu
|
||||
cms.ui.item.revision.current=Gegenw\u00e4rtige Ausgabe
|
||||
cms.ui.item.revision.difference.show=Unterschiede anzeigen
|
||||
cms.ui.item.revision.first=Urspr\u00fcngliche Ausgabe
|
||||
cms.ui.item.revision.from=Von
|
||||
cms.ui.item.revision.from_is_null='Von' Ausgabe ist notwendig
|
||||
cms.ui.item.revision.none=Dieses Dokument hat keine Ausgaben
|
||||
cms.ui.item.revision.nothing=nichts
|
||||
cms.ui.item.revision.operation.change=\u00c4ndern
|
||||
cms.ui.item.revision.operation.new_value=Neuer Wert
|
||||
cms.ui.item.revision.operation.none=Keine Operationen vorhanden
|
||||
cms.ui.item.revision.operation.object=Objekt
|
||||
cms.ui.item.revision.operation.old_value=Alter Wert
|
||||
cms.ui.item.revision.operation.property=Eigenschaft
|
||||
cms.ui.item.revision.operation.value=Wert
|
||||
cms.ui.item.revision.operation=Operation
|
||||
cms.ui.item.revision.operations=Operations
|
||||
cms.ui.item.revision.removed=Removed From
|
||||
cms.ui.item.revision.return=Return to revisions
|
||||
cms.ui.item.revision.rollback=Rollback
|
||||
cms.ui.item.revision.rolled_back=Rolled back
|
||||
cms.ui.item.revision.to=Zu
|
||||
cms.ui.item.revision.to_is_null=Eine 'zu' Revision ist erforderlich
|
||||
cms.ui.item.revision.view=Ansicht
|
||||
cms.ui.item.revision=Revision
|
||||
cms.ui.item.revisions=Revisionen
|
||||
cms.ui.item.start_date=Anfangsdatum\:
|
||||
cms.ui.item.start_time=Anfangszeit\:
|
||||
cms.ui.item.start_time_incomplete=Anfangszeit unvollst\u00e4ndig
|
||||
cms.ui.item.submission_cancelled=Prozess unterbrochen
|
||||
cms.ui.item.summary=Zusammenfassung
|
||||
cms.ui.item.templates=Vorlage
|
||||
cms.ui.item.the_current_row_does_not_exists=Die aktuelle Zeile existiert nicht
|
||||
cms.ui.item.workflow=Arbeitsablauf
|
||||
cms.ui.item.workflow.start=Arbeitsablauf starten
|
||||
cms.ui.item.workflow.stop=Arbeitsablauf stoppen
|
||||
cms.ui.item_name_already_in_folder=Dieser Titel wird von einem anderen Objekt in diesem Ordner benutzt\:
|
||||
cms.ui.label=Etikett
|
||||
cms.ui.label_prompt=Etikett\:
|
||||
cms.ui.language.field=Sprache\:
|
||||
cms.ui.language.header=Sprache
|
||||
cms.ui.language_instance.change=Sprache \u00e4ndern
|
||||
cms.ui.language_instance.new=Neue Sprachinstanz
|
||||
cms.ui.language_instances=Sprachinstanz
|
||||
cms.ui.lifecycle.add=Add lifecycle
|
||||
cms.ui.lifecycle.add=Neuen Lebenszyklus erstellen
|
||||
cms.ui.lifecycle.add_a_phase=Eine Phase hinzuf\u00fcgen
|
||||
cms.ui.lifecycle.create_a_lifecycle=Einen Lebenszyklus erstellen
|
||||
cms.ui.lifecycle.days=Tage
|
||||
cms.ui.lifecycle.delete_prompt=Sind Sie sicher, diesen Lebenszyklus zu l\u00f6schen?
|
||||
cms.ui.lifecycle.delete=Lebenszyklus l\u00f6schen
|
||||
cms.ui.lifecycle.description=Beschreibung
|
||||
cms.ui.lifecycle.details=Lebenszyklus Einzelheiten
|
||||
cms.ui.lifecycle.duration=Dauer
|
||||
cms.ui.lifecycle.edit=Lebenszyklus beareiten
|
||||
cms.ui.lifecycle.forever=Unbegrenzt
|
||||
cms.ui.lifecycle.hours=Stunden
|
||||
cms.ui.lifecycle.intro=Einen Lebenszyklus ausw\u00e4hlen oder neu erstellen
|
||||
cms.ui.lifecycle.label=Etikett\:
|
||||
cms.ui.lifecycle.lifecycle_information=Lebenszyklus Information
|
||||
cms.ui.lifecycle.lifecycles=Lebenszyklen
|
||||
cms.ui.lifecycle.mins=Minuten
|
||||
cms.ui.lifecycle.name=Name
|
||||
cms.ui.lifecycle.name_not_unique=Es gibt bereits einen Lebenszyklus mit diesem Namen
|
||||
cms.ui.lifecycle.no_lifecycles_defined_for_this_section=Keine Lebenszyklen f\u00fcr diesen Bereich definiert.
|
||||
cms.ui.lifecycle.no_phases=Dieser Lebenszyklus hat keine Phasen
|
||||
cms.ui.lifecycle.phase.add=Eine Phase hinzuf\u00fcgen
|
||||
cms.ui.lifecycle.phase.days=Tage
|
||||
cms.ui.lifecycle.phase.delay=Verzug
|
||||
cms.ui.lifecycle.phase.delete=Phase l\u00f6schen
|
||||
cms.ui.lifecycle.phase.duration=Dauer
|
||||
cms.ui.lifecycle.phase.duration_negative=Die Dauer muss gr\u00f6\u00dfer als Null sein.
|
||||
cms.ui.lifecycle.phase.edit=Phase bearbeiten
|
||||
cms.ui.lifecycle.phase.hours=Std.
|
||||
cms.ui.lifecycle.phase.mins=Min.
|
||||
cms.ui.lifecycle.phase.name_not_unique=Es gibt bereits eine Phase mit diesemNamen
|
||||
cms.ui.lifecycle.phase.none=Dieser Lebenszyklus hat keine Phasen
|
||||
cms.ui.lifecycle.phase.start_delay=Start delay
|
||||
cms.ui.lifecycle.phase_add=Phase hinzuf\u00fcgen
|
||||
cms.ui.lifecycle.phase_delay=Delay
|
||||
cms.ui.lifecycle.phase_delete=Phase l\u00f6schen
|
||||
cms.ui.lifecycle.phase_description=Beschreibung
|
||||
cms.ui.lifecycle.phase_duration=Dauer
|
||||
cms.ui.lifecycle.phase_edit=Phase editieren
|
||||
cms.ui.lifecycle.phase_name=Name
|
||||
cms.ui.lifecycle.phases=Phasen
|
||||
cms.ui.lifecycle.start_delay=Start Delay:
|
||||
cms.ui.lifecycle_date_error_msg=Das Anfangsdatum des Lebenszyklus muss vor dem Enddatum liegen.
|
||||
cms.ui.lifecycles=Lebenszyklen
|
||||
cms.ui.locales=Locales:
|
||||
cms.ui.logout_failed=Abmeldung fehlgeschlagen
|
||||
cms.ui.matches=Treffer
|
||||
cms.ui.max_launch=H\u00f6chstes Startdatum
|
||||
cms.ui.min_launch=Kleinstes Startdatum
|
||||
cms.ui.my_workspace=Mein Portal
|
||||
cms.ui.name=Name
|
||||
cms.ui.name_prompt=Name:
|
||||
cms.ui.need_category_map_privilege=Need categorize items privilege on that category
|
||||
cms.ui.new_folder=Neuen Ordner erstellen
|
||||
cms.ui.new_item=Neues Element
|
||||
cms.ui.no=Nein
|
||||
cms.ui.no_content_section_for_page=Kein Inhaltsbereich f\u00fcr die Seite
|
||||
cms.ui.no_items_matched_the_search=Keine Objekte erf\u00fcllen die Suchkriterien
|
||||
cms.ui.none=Keine
|
||||
cms.ui.parent=Eltern
|
||||
cms.ui.permissions.add_administrator=Administrator hinzuf\u00fcgen
|
||||
cms.ui.permissions.cannot_add_user=Kann Benutzer nicht hinzuf\u00fcgen
|
||||
cms.ui.permissions.cannot_retrieve_party=Cannot retrieve party
|
||||
cms.ui.permissions.column_index=Spaltenindex
|
||||
cms.ui.permissions.could_not_find_this_object=Konnte dieses Objekt nicht finden
|
||||
cms.ui.permissions.current_object_is_null=Aktuelles Objekt ist null\!
|
||||
cms.ui.permissions.no_users_were_selected=Keine Benutzer gew\u00e4hlt
|
||||
cms.ui.permissions.not_an_object_adminstrator=Kein Objekt Administrator
|
||||
cms.ui.permissions.out_of_bounds= Au\u00dferhalb der Grenzwerte
|
||||
cms.ui.permissions.remove=entfernen
|
||||
cms.ui.permissions.return_to_object_info=Zur\u00fcck zur Objekt Information
|
||||
cms.ui.permissions.these_are_the_current_permissions_for_this_folder=Aktuelle Rechte f\u00fcr diesen Ordner\:
|
||||
cms.ui.permissions.these_are_the_custom_permissions_that_have_been_granted_on_this_object=These are the custom permissions that have been granted on this object.
|
||||
cms.ui.permissions=Zugriffsrechte
|
||||
cms.ui.preview=Vorschau
|
||||
cms.ui.primary_instance=Primary Instance
|
||||
cms.ui.remove=Entfernen
|
||||
cms.ui.restore_default_permissions=Default Rechte wiederherstellen
|
||||
cms.ui.role.add=Rolle hinzuf\u00fcgen
|
||||
cms.ui.role.admin.add=Administrator hinzuf\u00fcgen
|
||||
cms.ui.role.admin.email=Email
|
||||
cms.ui.role.admin.name=Name
|
||||
cms.ui.role.admin.none=Diese Rolle hat keine Administratoren
|
||||
cms.ui.role.admin.remove=Administrator l\u00f6schen
|
||||
cms.ui.role.admins=Administratoren
|
||||
cms.ui.role.delete=Rolle l\u00f6schen
|
||||
cms.ui.role.delete_prompt=Diese Rolle wirklich l\u00f6schen?
|
||||
cms.ui.role.description=Beschreibung
|
||||
cms.ui.role.details=Details der Rolle
|
||||
cms.ui.role.edit=Rolle bearbeiten
|
||||
cms.ui.role.intro=Eine Rolle als Bearbeiter oder Betrachter ausw\u00e4hlen oder eine neue erstellen
|
||||
cms.ui.role.member.add=Mitglied hinzuf\u00fcgen
|
||||
cms.ui.role.member.email=Email
|
||||
cms.ui.role.member.name=Name
|
||||
cms.ui.role.member.none=Diese Rolle hat keine Mitglieder
|
||||
cms.ui.role.member.remove=Mitglied entfernen
|
||||
cms.ui.role.members=Mitglieder
|
||||
cms.ui.role.name_not_unique=Eine Rolle mit diesem Namen existiert
|
||||
cms.ui.role.no_party_selected=Keinen Benutzer oder Gruppe ausgew\u00e4hlt
|
||||
cms.ui.role.privilege.none=Diese Rolle hat keine Berechtigungen
|
||||
cms.ui.role.privileges=Berechtigungen
|
||||
cms.ui.role.staff.add=Bearbeiterrolle hinzuf\u00fcgen
|
||||
cms.ui.role.staff=Bearbeiterrollen
|
||||
cms.ui.role.viewer.add=Hinzuf\u00fcgen einer Betrachter Rolle
|
||||
cms.ui.role.viewers=Betrachter Rollen
|
||||
cms.ui.roles=Rollen
|
||||
cms.ui.save=Sichern
|
||||
cms.ui.search=Suche
|
||||
cms.ui.search_prompt=Suche um neue Mitglieder zu erg\u00e4nzen
|
||||
cms.ui.search_to_add_new_members=Suche um neue Mitglieder zu erg\u00e4nzen
|
||||
cms.ui.search_errors.empty_terms=Bitte Suchbegriffe eingeben
|
||||
cms.ui.search_errors.bad_terms=Your search terms contain illegal words or characters
|
||||
cms.ui.select_one=--ausw\u00e4hlen--
|
||||
cms.ui.sign_out=Abmelden
|
||||
cms.ui.staff.add_member=Mitglied hinzuf\u00fcgen
|
||||
cms.ui.staff.add_role=Neue Rolle erstellen
|
||||
cms.ui.staff.create_a_role=Rolle erstellen
|
||||
cms.ui.staff.delete_confirmation_prompt=Sind Sie sicher, diese Rolle zu l\u00f6schen?
|
||||
cms.ui.staff.description=Beschreibung
|
||||
cms.ui.staff.edit_a_role=Eine Rolle bearbeiten
|
||||
cms.ui.staff.edit_role=Rolle bearbeiten
|
||||
cms.ui.staff.label=Etikett
|
||||
cms.ui.staff.no_roles_defined=Es sind keine Rollen f\u00fcr diesen Abschnitt definiert
|
||||
cms.ui.staff.privileges=Berechtigungen
|
||||
cms.ui.staff.remove=Entfernen
|
||||
cms.ui.staff.role_description=Beschreibung
|
||||
cms.ui.staff.role_details=Rolleneinzelheiten
|
||||
cms.ui.staff.role_intro=Eine Rolle ausw\u00e4hlen oder eine neue erstellen
|
||||
cms.ui.staff.role_members=Rollen Mitglieder
|
||||
cms.ui.staff.role_name=Name
|
||||
cms.ui.staff.roles=Rollen
|
||||
cms.ui.staff.there_are_no_administrators_for_this_role=Es gibt keine Administratoren f\u00fcr diese Rolle
|
||||
cms.ui.submission_cancelled=Prozess abgebrochen
|
||||
cms.ui.templates.assign_a_template_to=Ein Muster zuweisen an
|
||||
cms.ui.templates.assign_template=Muster Zuordnen
|
||||
cms.ui.templates.assign_this_template=Dieses Muster zuordnen
|
||||
cms.ui.templates.assigned_templates=Zugeordnete Muster
|
||||
cms.ui.templates.default=Vorgabe
|
||||
cms.ui.templates.dummy=dummy
|
||||
cms.ui.templates.label=Etikett\:
|
||||
cms.ui.templates.name=Name:
|
||||
cms.ui.templates.no_templates=Keine Muster
|
||||
cms.ui.templates.not_implemented=Nicht Implementiert
|
||||
cms.ui.templates.preview=Vorschau
|
||||
cms.ui.templates.remove=Entfernen
|
||||
cms.ui.templates.set_as_default=Als Vorgabe festlegen
|
||||
cms.ui.templates.use_context=Benutze Context\:
|
||||
cms.ui.the_model_is_empty=Das Modell ist leer
|
||||
cms.ui.there_are_no_items=Keine elemente vorhanden.
|
||||
cms.ui.there_was_no_one_matching_the_search_criteria=Kein Element erf\u00fcllte die Suchkriterien.
|
||||
cms.ui.this_should_never_happen=Dies sollte nie passieren\!
|
||||
cms.ui.type.add=Inhaltstyp hinzuf\u00fcgen
|
||||
cms.ui.type.authoringkit=Authoring kit details
|
||||
cms.ui.type.select=Inhaltstyp ausw\u00e4hlen
|
||||
cms.ui.type.define=Neuen Inhaltstyp definieren
|
||||
cms.ui.type.select.none=Keine verf\u00fcgbaren Inhaltstypen zur Auswahl
|
||||
cms.ui.type.association_content_type=Association content type
|
||||
cms.ui.type.available_types=Verf\u00fcgbare Inhaltstypen
|
||||
cms.ui.type.class_name=Java Klassenname
|
||||
cms.ui.type.data_entry_method=Data entry method
|
||||
cms.ui.type.default_date=Voreingestelltes Datum
|
||||
cms.ui.type.delete=Typ l\u00f6schen
|
||||
cms.ui.type.delete_prompt=Sind Sie sicher, diesen Inhaltstyp zu l\u00f6schen?
|
||||
cms.ui.type.details=Inhaltstyp Einzelheiten
|
||||
cms.ui.type.edit=Inhaltstyp bearbeiten
|
||||
cms.ui.type.element.delete=Element l\u00f6schen
|
||||
cms.ui.type.element.type=Element Typ
|
||||
cms.ui.type.element.value_required=Wert erforderlich?
|
||||
cms.ui.type.elements=Elemente
|
||||
cms.ui.type.from=Von
|
||||
cms.ui.type.intro=Inhaltstyp ausw\u00e4hlen oder neu erstellen
|
||||
cms.ui.type.invalid=Ung\u00fcltiger Inhaltstyp
|
||||
cms.ui.type.label=Label
|
||||
cms.ui.type.lifecycle.none=This content type has no default lifecycle
|
||||
cms.ui.type.lifecycle=Voreingestellter Zyklus
|
||||
cms.ui.type.maximum_length=Maximale L\u00e4nge
|
||||
cms.ui.type.name_has_whitespace=Der Name darf keine Leerzeichen enthalten
|
||||
cms.ui.type.name_not_alphanumeric=Der Name darf nur aus Buchstaben und Zahlen bestehen, keine Satzzeichen
|
||||
cms.ui.type.name_not_unique=Dieser Inhaltstyp hat bereits ein Element mit dem Namen
|
||||
cms.ui.type.duplicate_type=Es gibt bereits einen Typ mit Namen "{0}"
|
||||
cms.ui.type.object_type=Objekttyp
|
||||
cms.ui.type.parent.none=Dieser Inhaltstyp hat keine Eltern
|
||||
cms.ui.type.parent=Eltern des Inhaltstyp
|
||||
cms.ui.type.template.add=Muster hinzuf\u00fcgen
|
||||
cms.ui.type.templates=Muster
|
||||
cms.ui.type.title=Titel
|
||||
cms.ui.type.to=An
|
||||
cms.ui.type.workflow.none=Dieser Inhaltstyp hat keinen voreingestellten Arbeitsablauf
|
||||
cms.ui.type.workflow=Voreingestellter Arbeitsablauf
|
||||
cms.ui.type.year_is_negative=Das Jahr kann nicht negativ sein
|
||||
cms.ui.type.year_range=Jahresbereich
|
||||
cms.ui.type.year_range_not_balanced=Eines der Jahre im angegebenen Bereich fehlt
|
||||
cms.ui.type.year_range_too_great=Der spezifizierte Bereichist zu gro\u00df
|
||||
cms.ui.type.year_range_wrong_order=Die Jahreszahlen im Bereich sind ungeordnet
|
||||
cms.ui.type.year_too_anachronistic=Der Datumsbereich erscheint falsch
|
||||
cms.ui.types=Inhaltstypen
|
||||
cms.ui.unknown=<i>unbekannt</i>
|
||||
cms.ui.upload_new_content=Neuen Inhalt laden
|
||||
cms.ui.use_custom_permissions=Benutzerspezifische Rechte
|
||||
cms.ui.user=Benutzer
|
||||
cms.ui.user_not_found=Benutzer nicht gefunden
|
||||
cms.ui.util.=
|
||||
cms.ui.view_all_enabled_tasks=View all enabled tasks
|
||||
cms.ui.view_all_enabled_tasks=Alle {0} aktivierten Aufgaben anzeigen
|
||||
cms.ui.view_tasks_sorted_by_due_date=Aufgaben anzeigen nach F\u00e4lligkeit
|
||||
cms.ui.viewers=Betrachter
|
||||
cms.ui.welcome=Willkommen
|
||||
cms.ui.worfklow.task_roles=Zugewiesene Rollen
|
||||
cms.ui.workflow.add=Arbeitsablauf hinzuf\u00fcgen
|
||||
cms.ui.workflow.add_a_new_task_to=Neue Aufgabe hinzuf\u00fcgen f\u00fcr
|
||||
cms.ui.workflow.add_task=Aufgabe hinzuf\u00fcgen
|
||||
cms.ui.workflow.assign_roles_for=Rollen zuweisen an
|
||||
cms.ui.workflow.cancel_hit=Abbruch anklicken
|
||||
cms.ui.workflow.comment=Kommentar
|
||||
cms.ui.workflow.current_state=Aktueller Status
|
||||
cms.ui.workflow.delete=Arbeitsablauf l\u00f6schen
|
||||
cms.ui.workflow.delete_prompt=Sind Sie sicher, diesen Arbeitsablauf zu l\u00f6schen?
|
||||
cms.ui.workflow.delete_user=Benutzer l\u00f6schen
|
||||
cms.ui.workflow.delete_workflow=Arbeitsablauf l\u00f6schen
|
||||
cms.ui.workflow.description=Beschreibung
|
||||
cms.ui.workflow.details=Arbeitsablauf Einzelheiten
|
||||
cms.ui.workflow.edit=Arbeitsablauf bearbeiten
|
||||
cms.ui.workflow.edit_task_in=Bearbeitung der Aufgabe in
|
||||
cms.ui.workflow.insufficient_privileges=Insufficient privileges
|
||||
cms.ui.workflow.insufficient_privileges=Sie haben unzureichende Rechte
|
||||
cms.ui.workflow.intro=Arbeitsablauf w\u00e4hlen oder einen neuen hinzuf\u00fcgen
|
||||
cms.ui.workflow.lock_tasks=Meine Aufgaben f\u00fcr diesen Inhaltstyp reservieren
|
||||
cms.ui.workflow.no_users_were_selected=Keine Benutzer ausgew\u00c4hlt
|
||||
cms.ui.workflow.no_users_were_selected=Keine Benutzer ausgew\u00e4hlt.
|
||||
cms.ui.workflow.num_tasks=Anzahl der Aufgaben
|
||||
cms.ui.workflow.restart_stopped_workflow=Gestoppter Arbeitsablauf erneut starten
|
||||
cms.ui.workflow.stop_workflow=Arbeitsablauf stoppen
|
||||
cms.ui.workflow.task.add=Aufgabe hinzuf\u00fcgen
|
||||
cms.ui.workflow.task.approve=Akzeptieren
|
||||
cms.ui.workflow.task.approve_prompt=Diesen Text akzeptieren?
|
||||
cms.ui.workflow.task.assigned.lock_all=Alle meine Aufgaben zu diesem Punkt reservieren
|
||||
cms.ui.workflow.task.assigned.none=Sie haben keine zugeordneten Aufgaben
|
||||
cms.ui.workflow.task.assigned.unlock_all=Alle meine Aufgaben zu diesem Punkt freigeben
|
||||
cms.ui.workflow.task.assigned=Ihre zugeordneten Aufgaben
|
||||
cms.ui.workflow.task.comment.add=Kommentar hinzuf\u00fcgen
|
||||
cms.ui.workflow.task.delete=Aufgabe l\u00f6schen
|
||||
cms.ui.workflow.task.delete_prompt=Sind Sie sicher diese Aufgabe zu l\u00f6schen?
|
||||
cms.ui.workflow.task.dependencies=Abh\u00e4ngigkeiten
|
||||
cms.ui.workflow.task.details=Aufgabendetails
|
||||
cms.ui.workflow.task.edit=Aufgabe bearbeiten
|
||||
cms.ui.workflow.task.finish=Aufgabe abschlie\u00dfen
|
||||
cms.ui.workflow.task.lock=Aufgabe reservieren
|
||||
cms.ui.workflow.task.locked=Reserviert?
|
||||
cms.ui.workflow.task.none=This workflow has no tasks
|
||||
cms.ui.workflow.task.reject=Zur\u00fcckweisen
|
||||
cms.ui.workflow.task.return=Zur\u00fcck zum Punkt Arbeitsablauf
|
||||
cms.ui.workflow.task.role.add=Rolle hinzuf\u00fcgen
|
||||
cms.ui.workflow.task.role.delete=Rolle l\u00f6schen
|
||||
cms.ui.workflow.task.role.none=Diese Aufgabe verf\u00fcgt \u00fcber keine Rollen
|
||||
cms.ui.workflow.task.roles=Aufgabe Rollen
|
||||
cms.ui.workflow.task.state=Aufgaben Status
|
||||
cms.ui.workflow.task.type=Aufgaben Typ
|
||||
cms.ui.workflow.task.unlock=Aufgabe freigeben
|
||||
cms.ui.workflow.task.user.add=Benutzer zuordnen
|
||||
cms.ui.workflow.task.user.delete=Benutzer entlassen
|
||||
cms.ui.workflow.task.user.none=Dieser Aufgabe sind keine Benutzer zugeordnet
|
||||
cms.ui.workflow.task.users=Zugeordnete Benutzer
|
||||
cms.ui.workflow.tasks=Aufgaben
|
||||
cms.ui.workflow.task.view_locked=Reservierte Aufgaben anzeigen
|
||||
cms.ui.workflow.task.view_unlocked=Freigegebene Aufgaben anzeigen
|
||||
cms.ui.workflow.task.view_all=Alle Aufgaben anzeigen
|
||||
cms.ui.workflow.task.item_title=Item Title
|
||||
cms.ui.workflow.task.locking_user=Reserviert von\:
|
||||
cms.ui.workflow.unlock_tasks=Alle meine Aufgaben f\u00fcr diesen Typ freigeben
|
||||
cms.ui.workflow.your_tasks=Zugewiesene Aufgaben
|
||||
cms.ui.workflow=Arbeitsablauf
|
||||
cms.ui.workflow_profile_exists_on_selected_folder=Ablaufprofil existiert f\u00fcr den gew\u00e4hlten Ordner
|
||||
cms.ui.workflows=Arbeitsabl\u00e4ufe
|
||||
cms.ui.yes=Ja
|
||||
cms.ui.you_do_not_have_sufficient_privileges_to_access_this_page=Unzureichende Zugriffsrechte f\u00fcr diese Seite.
|
||||
cms.contenttypes.template.body_text.title=Haupttext\:
|
||||
cms.contenttypes.template.body_text.description=Haupttext bearbeiten
|
||||
cms.contenttypes.shared.assign_categories.title=Kategorien zuweisen
|
||||
cms.contenttypes.shared.assign_categories.description=Kategorien zuweisen
|
||||
cms.contenttypes.shared.attach_files.title=Dateien zuordnen
|
||||
cms.contenttypes.shared.attach_files.description=Dateien anh\u00c4ngen
|
||||
cms.contenttypes.shared.basic_properties.description=Basiseigenschaften editieren
|
||||
cms.contenttypes.shared.basic_properties.title=Basiseigenschaften
|
||||
cms.contenttypes.shared.body_text.title=Haupttext
|
||||
cms.contenttypes.shared.body_text.description=Haupttext editieren
|
||||
no=Nein
|
||||
yes=Ja
|
||||
mime_type_jsp=JSP
|
||||
mime_type_xsl=XSL
|
||||
# For all subject and body email text below, the substitutions are as follows:
|
||||
# {0}: Item title (display name)
|
||||
# {1}: a numeric value identifying the type of Task that was completed: 1 for authoring, 2 for approval, 3 for publishing
|
||||
# {2}: The finish-URL for the task (if the operation is "enable"), or the URL of the authoring page for the item
|
||||
# {3}: The siteName
|
||||
# {4}: The system administrator email
|
||||
# {5}: The date of the event
|
||||
# {6}: The text of the last comment added to the Task
|
||||
# {7}: The name of the person who added the last comment
|
||||
# {8}: The start date of the Task
|
||||
cms.ui.workflow.email.subject.enable="{0}" ist {1,choice,1#kann erstellt werden|2#wartet auf Annahme|3#wartet auf Ver\u00f6ffentlichung}
|
||||
cms.ui.workflow.email.subject.finish={1,choice,1#Verfassen|2#Annahme|3#Ver\u00f6ffentlichen} von "{0}" ist erfolgt
|
||||
cms.ui.workflow.email.subject.rollback={1,choice,1#Verfassen|2#Annahme|3#Ver\u00f6ffentlichen} von "{0}" wurde widerrufen
|
||||
cms.ui.workflow.email.subject.disable={1,choice,1#Verfassen|2#Annahme|3#Ver\u00f6ffentlichen} von "{0}" wurde deaktiviert
|
||||
|
||||
cms.ui.workflow.email.body.enable=\
|
||||
"{0}" is {1,choice,1#ready for authoring|2#waiting for approval|3#waiting for deployment} on {3}. \n\
|
||||
You can complete this task by opening this link in your web browser:\n\
|
||||
\n\
|
||||
{2}\n\
|
||||
\n\
|
||||
If you have any questions, please contact the system adminstrator at {4}.\n\
|
||||
Thank you for using {3}.\n
|
||||
|
||||
cms.ui.workflow.email.body.finish=\
|
||||
{1,choice,1#Authoring|2#Approval|3#Deployment} of "{0}" was completed on {5,date,long} at {5,time,short}.\n\
|
||||
You can view the item opening this link in your web browser:\n\
|
||||
\n\
|
||||
{2}\n\
|
||||
\n\
|
||||
If you have any questions, please contact the system adminstrator at {4}.\n\
|
||||
Thank you for using {3}.\n
|
||||
|
||||
cms.ui.workflow.email.body.rollback=\
|
||||
{1,choice,1#Authoring|2#Approval|3#Deployment} of "{0}" was rolled back on {5,date,long} at {5,time,short}.\n\
|
||||
The last comment on this workflow, by {7}, was:\n\
|
||||
\n\
|
||||
{6}\n\
|
||||
\n\
|
||||
You can view the item and perform any necessary actions by opening this link \n\
|
||||
in your web browser:\n\
|
||||
\n\
|
||||
{2}\n\
|
||||
\n\
|
||||
If you have any questions, please contact the system adminstrator at {4}.\n\
|
||||
Thank you for using {3}.\n
|
||||
|
||||
cms.ui.workflow.email.body.disable=\
|
||||
{1,choice,1#Authoring|2#Approval|3#Deployment} of "{0}" was denied on {5,date,long} at {5,time,short}.\n\
|
||||
The last comment on this workflow, by {7}, was:\n\
|
||||
\n\
|
||||
{6}\n\
|
||||
\n\
|
||||
You can view the item and perform any necessary actions by opening this link \n\
|
||||
in your web browser:\n\
|
||||
\n\
|
||||
{2}\n\
|
||||
\n\
|
||||
If you have any questions, please contact the system adminstrator at {4}.\n\
|
||||
Thank you for using {3}.\n
|
||||
|
||||
# Subject and body for the Unfinished Task emails
|
||||
cms.ui.workflow.email.subject.unfinished={1,choice,1#Authoring|2#Approval|3#Deployment} of "{0}" is unfinished
|
||||
cms.ui.workflow.email.body.unfinished=\
|
||||
"{0}" is {1,choice,1#ready for authoring|2#waiting for approval|3#waiting for deployment} on {3}. \n\
|
||||
This task has been waiting for action since {8,date,long} at {8,time,short}.\n\
|
||||
Please complete this task as soon as possible.\n\
|
||||
You can complete this task by opening this link in your web browser:\n\
|
||||
\n\
|
||||
{2}\n\
|
||||
\n\
|
||||
If you have any questions, please contact the system adminstrator at {4}.\n\
|
||||
Thank you for using {3}.\n
|
||||
cms.contentassets.ui.description=Beschreibung
|
||||
cms.ui.content_check_alert.subject=Content Check Alert
|
||||
cms.ui.content_check_alert.body=Dear Author\n\nYou are listed as the Content Owner for the following {0} web page(s). Please check if they need amending or updating in any way:\n\n{1}\nIf you have any amendments or questions please email the appropriate web editor:\n\nsally.editor@aplaws.org (Council & Democracy, Environment, Education)\njohn.editor@aplaws.org (Community & Living, Business, Social Care)\nfrank.editor@aplaws.org (Council & Democracy, Environment, Education)\n\nYou can contact webmanager@aplaws.org with any questions about this email\n
|
||||
|
||||
cms.ui.workflow.task.takeover=\u00dcbernahme
|
||||
|
||||
cms.ui.item.lifecycle.republish_and_reset=Lebenszyklus erneut etablieren und starten
|
||||
|
||||
cms.contenttypes.ui.description_missing=Bitte eine Beschreibung eingeben
|
||||
|
||||
cms.ui.category.view_index_item=Index Element anzeigen
|
||||
|
||||
cms.ui.category.edit_index_item=Index Element bearbeiten
|
||||
|
|
@ -29,6 +29,7 @@ import com.arsdigita.bebop.event.ActionListener;
|
|||
import com.arsdigita.bebop.form.SingleSelect;
|
||||
import com.arsdigita.bebop.form.Submit;
|
||||
import com.arsdigita.cms.CMS;
|
||||
import com.arsdigita.cms.ContentItem;
|
||||
import com.arsdigita.cms.ContentSection;
|
||||
import com.arsdigita.cms.ContentType;
|
||||
import com.arsdigita.cms.SecurityManager;
|
||||
|
|
@ -62,6 +63,7 @@ final class ContentTypeItemPane extends BaseItemPane {
|
|||
private final AddElement m_elementAddForm;
|
||||
|
||||
private final SectionTemplatesListing m_templates;
|
||||
// private final RelationAttributeSection m_relationAttributes;
|
||||
|
||||
ContentTypeItemPane(final ACSObjectSelectionModel model,
|
||||
final ContentTypeRequestLocal type,
|
||||
|
|
@ -114,6 +116,7 @@ final class ContentTypeItemPane extends BaseItemPane {
|
|||
add(itemForm);
|
||||
|
||||
m_detailPane.add(new SummarySection(editLink, deleteLink));
|
||||
m_detailPane.add(new RelationAttributeSection());
|
||||
|
||||
m_detailPane.add(new TypeSecurityContainer(new ElementSection()));
|
||||
m_detailPane.add(new TemplateSection(templateAddLink));
|
||||
|
|
@ -192,6 +195,7 @@ final class ContentTypeItemPane extends BaseItemPane {
|
|||
group.addAction(m_elementAddForm);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean isVisible(final PageState state) {
|
||||
return m_model.isSelected(state) && isDynamicType(state) &&
|
||||
!ContentSection.getConfig().getHideUDCTUI();
|
||||
|
|
@ -209,11 +213,41 @@ final class ContentTypeItemPane extends BaseItemPane {
|
|||
group.addAction(new TypeSecurityContainer(templateAddLink));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean isVisible(final PageState state) {
|
||||
return m_model.isSelected(state) && !isDynamicType(state);
|
||||
}
|
||||
}
|
||||
|
||||
private class RelationAttributeSection extends Section {
|
||||
RelationAttributeSection(/*final ActionLink attributeEditLink*/) {
|
||||
setHeading(new Label(gz("cms.ui.type.attributes")));
|
||||
|
||||
setBody(new RelationAttributeContainer(m_type));
|
||||
// setBody(new Label("RelationAttributeContainer"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean isVisible(final PageState state) {
|
||||
|
||||
boolean retVal = false;
|
||||
ContentType ct = (ContentType) m_type.getContentType(state);
|
||||
ContentItem ci = null;
|
||||
|
||||
try {
|
||||
Class<? extends ContentItem> clazz = Class.forName(ct.getClassName()).asSubclass(ContentItem.class);
|
||||
ci = clazz.newInstance();
|
||||
retVal = clazz.cast(ci).hasRelationAttributes();
|
||||
ci.delete();
|
||||
} catch (Exception ex) {
|
||||
//retVal = false;
|
||||
}
|
||||
|
||||
return retVal;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void register(final Page page) {
|
||||
super.register(page);
|
||||
|
||||
|
|
@ -249,7 +283,7 @@ final class ContentTypeItemPane extends BaseItemPane {
|
|||
* Determine if the current user has access to edit the content type
|
||||
* XXX domlay
|
||||
*/
|
||||
protected static final boolean userCanEdit(final PageState state) {
|
||||
protected static boolean userCanEdit(final PageState state) {
|
||||
SecurityManager sm = Utilities.getSecurityManager(state);
|
||||
return sm.canAccess(state.getRequest(),
|
||||
SecurityManager.CONTENT_TYPE_ADMIN);
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ class ContentTypePropertyList extends PropertyList {
|
|||
m_type = type;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected final java.util.List properties(final PageState state) {
|
||||
final java.util.List props = super.properties(state);
|
||||
final ContentType type = m_type.getContentType(state);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,91 @@
|
|||
/*
|
||||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package com.arsdigita.cms.ui.type;
|
||||
|
||||
import com.arsdigita.bebop.ActionLink;
|
||||
import com.arsdigita.bebop.Component;
|
||||
import com.arsdigita.bebop.Label;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.bebop.event.ActionEvent;
|
||||
import com.arsdigita.bebop.event.ActionListener;
|
||||
import com.arsdigita.cms.ContentItem;
|
||||
import com.arsdigita.cms.ContentType;
|
||||
import com.arsdigita.toolbox.ui.ComponentMap;
|
||||
import com.arsdigita.xml.Element;
|
||||
import java.util.Iterator;
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author quasi
|
||||
*/
|
||||
class RelationAttributeContainer extends ComponentMap {
|
||||
|
||||
private ContentTypeRequestLocal m_type;
|
||||
private ContentType contentType;
|
||||
private StringTokenizer relationAttributeList;
|
||||
|
||||
// private static final RequestLocal s_components = new RequestLocal() {
|
||||
// protected final Object initialValue(final PageState state) {
|
||||
// return new ComponentMap();
|
||||
// }
|
||||
// };
|
||||
public RelationAttributeContainer(ContentTypeRequestLocal type) {
|
||||
super();
|
||||
m_type = type;
|
||||
relationAttributeList = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean isVisible(final PageState state) {
|
||||
|
||||
boolean retVal = false;
|
||||
ContentType ct = (ContentType) m_type.getContentType(state);
|
||||
ContentItem ci = null;
|
||||
|
||||
try {
|
||||
Class<? extends ContentItem> clazz = Class.forName(ct.getClassName()).asSubclass(ContentItem.class);
|
||||
ci = clazz.newInstance();
|
||||
retVal = clazz.cast(ci).hasRelationAttributes();
|
||||
relationAttributeList = clazz.cast(ci).getRelationAttributes();
|
||||
ci.delete();
|
||||
} catch (Exception ex) {
|
||||
//retVal = false;
|
||||
}
|
||||
|
||||
// Test
|
||||
while (relationAttributeList.hasMoreElements()) {
|
||||
String token = relationAttributeList.nextToken();
|
||||
put(token, new Label(token));
|
||||
// ActionLink link = new ActionLink(new Label(token));
|
||||
// link.addActionListener(new ActionListener() {
|
||||
// public void actionPerformed(ActionEvent e) {
|
||||
// }
|
||||
// });
|
||||
|
||||
}
|
||||
|
||||
|
||||
return retVal;
|
||||
}
|
||||
|
||||
// HACK: Dies sollte geändert werden, aber ich weiß nicht wie. Das ist der einfachste
|
||||
// Weg, die exception zu verhindern, aber ich bin mir sicher, daß das später zu
|
||||
// Problemen führen wird.
|
||||
@Override
|
||||
public void lock() {
|
||||
}
|
||||
|
||||
public final void generateXML(final PageState state, final Element parent) {
|
||||
if (isVisible(state)) {
|
||||
|
||||
Iterator iter = children();
|
||||
|
||||
while (iter.hasNext()) {
|
||||
((Component) iter.next()).generateXML(state, parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue