diff --git a/ccm-cms/src/com/arsdigita/cms/LanguageInvariantContentItem.java b/ccm-cms/src/com/arsdigita/cms/LanguageInvariantContentItem.java new file mode 100644 index 000000000..3bfef110e --- /dev/null +++ b/ccm-cms/src/com/arsdigita/cms/LanguageInvariantContentItem.java @@ -0,0 +1,17 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package com.arsdigita.cms; + +/** + * + * Content Items implementing this interface are be language invariant, if + * isLanguageInvariant returns true + * + * @author Sören Bernstein (quasimodo) + */ +public interface LanguageInvariantContentItem { + + public abstract boolean isLanguageInvariant(); +} diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericPerson.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericPerson.java index f88f87ad4..f5bfc2a1e 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericPerson.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericPerson.java @@ -20,6 +20,7 @@ package com.arsdigita.cms.contenttypes; import com.arsdigita.cms.ContentType; import com.arsdigita.cms.ContentPage; +import com.arsdigita.cms.LanguageInvariantContentItem; import com.arsdigita.cms.RelationAttributeInterface; import com.arsdigita.domain.DataObjectNotFoundException; import com.arsdigita.domain.DomainObjectFactory; @@ -38,7 +39,8 @@ import java.util.Date; * @author Jens Pelzetter */ public class GenericPerson extends ContentPage implements - RelationAttributeInterface { + RelationAttributeInterface, + LanguageInvariantContentItem { public static final String PERSON = "person"; public static final String SURNAME = "surname"; @@ -311,4 +313,8 @@ public class GenericPerson extends ContentPage implements public String getSearchSummary() { return getFullName(); } + + public boolean isLanguageInvariant() { + return true; + } } diff --git a/ccm-cms/src/com/arsdigita/cms/ui/ContentItemPage.java b/ccm-cms/src/com/arsdigita/cms/ui/ContentItemPage.java index 48dc95231..dd9a41599 100755 --- a/ccm-cms/src/com/arsdigita/cms/ui/ContentItemPage.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/ContentItemPage.java @@ -36,13 +36,7 @@ import com.arsdigita.bebop.event.PrintListener; import com.arsdigita.bebop.parameters.BigDecimalParameter; import com.arsdigita.bebop.parameters.NotNullValidationListener; import com.arsdigita.bebop.parameters.StringParameter; -import com.arsdigita.cms.CMS; -import com.arsdigita.cms.ContentItem; -import com.arsdigita.cms.ContentSection; -import com.arsdigita.cms.ContentType; -import com.arsdigita.cms.ItemSelectionModel; -import com.arsdigita.cms.PageLocations; -import com.arsdigita.cms.Template; +import com.arsdigita.cms.*; import com.arsdigita.cms.contenttypes.CustomizedPreviewLink; import com.arsdigita.cms.dispatcher.CMSDispatcher; import com.arsdigita.cms.dispatcher.CMSPage; @@ -73,6 +67,8 @@ import org.apache.log4j.Logger; * @author Michael Pih * @author Stanislav Freidin <sfreidin@redhat.com> * @author Jack Chung + * @author Sören Bernstein (quasimodo) + * * @version $Id: ContentItemPage.java 754 2005-09-02 13:26:17Z sskracic $ */ public class ContentItemPage extends CMSPage implements ActionListener { @@ -337,6 +333,16 @@ public class ContentItemPage extends CMSPage implements ActionListener { m_tabbedPane.setTabVisible(state, m_templatesPane, !ContentSection. getConfig().getHideTemplatesTab()); } + + // Added by: Sören Bernstein + // If the content item is a language invariant content item, don't show + // the language pane + if (item instanceof LanguageInvariantContentItem) { + LanguageInvariantContentItem li_item = (LanguageInvariantContentItem) item; + if(li_item.isLanguageInvariant()) { + m_tabbedPane.setTabVisible(state, m_languagesPane, false); + } + } // Set the current tab based on parameters if (setTab != null) {