From 2f23a82b3acaccc1f9d27650014411fbd6d3079d Mon Sep 17 00:00:00 2001 From: jensp Date: Wed, 4 Jan 2012 13:29:59 +0000 Subject: [PATCH] =?UTF-8?q?L=C3=B6schen-Link=20in=20der=20ItemLanguagesTab?= =?UTF-8?q?le=20wird=20jetzt=20nur=20noch=20angezeigt,=20wenn=20das=20Item?= =?UTF-8?q?=20keine=20Live-Version=20hat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.libreccm.org/ccm/trunk@1424 8810af33-2d31-482b-a856-94f89814c4df --- .../cms/ui/item/ItemLanguagesTable.java | 44 ++++++++++++------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/ccm-cms/src/com/arsdigita/cms/ui/item/ItemLanguagesTable.java b/ccm-cms/src/com/arsdigita/cms/ui/item/ItemLanguagesTable.java index 7166c9909..5c26ed831 100755 --- a/ccm-cms/src/com/arsdigita/cms/ui/item/ItemLanguagesTable.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/item/ItemLanguagesTable.java @@ -64,9 +64,11 @@ public class ItemLanguagesTable extends DataTable { super(new LanguagesBuilder(model)); m_model = model; - addColumn("cms.ui.language.header", ContentPage.LANGUAGE, false, new LanguageRenderer()); + addColumn("cms.ui.language.header", ContentPage.LANGUAGE, false, + new LanguageRenderer()); addColumn("cms.title", ContentPage.TITLE); - m_deleteColumn = addColumn("cms.ui.action", new ActionCellRenderer(m_model)); + m_deleteColumn = addColumn("cms.ui.action", new ActionCellRenderer( + m_model)); setResourceBundle(GlobalizationUtil.getBundleName()); addTableActionListener(new InstanceDeleter()); } @@ -85,8 +87,10 @@ public class ItemLanguagesTable extends DataTable { } public DataQuery makeDataQuery(DataTable t, PageState s) { - ContentPage multiLingual = (ContentPage) m_model.getSelectedObject(s); - DataQuery q = SessionManager.getSession().retrieveQuery("com.arsdigita.cms.getBundledItems"); + ContentPage multiLingual = + (ContentPage) m_model.getSelectedObject(s); + DataQuery q = SessionManager.getSession().retrieveQuery( + "com.arsdigita.cms.getBundledItems"); q.setParameter("bundleID", multiLingual.getContentBundle().getID()); return q; } @@ -102,11 +106,14 @@ public class ItemLanguagesTable extends DataTable { private static class LanguageRenderer implements TableCellRenderer { public Component getComponent(Table table, PageState state, Object value, - boolean isSelected, Object key, - int row, int column) { + boolean isSelected, Object key, + int row, int column) { BigDecimal id = (BigDecimal) key; - String target = ContentItemPage.getRelativeItemURL(id, ContentItemPage.AUTHORING_TAB); - return new Link(new Label(LanguageUtil.getLangFull((String) value)), target); + String target = + ContentItemPage.getRelativeItemURL(id, + ContentItemPage.AUTHORING_TAB); + return new Link(new Label(LanguageUtil.getLangFull((String) value)), + target); } } @@ -115,7 +122,8 @@ public class ItemLanguagesTable extends DataTable { */ private static class ActionCellRenderer implements TableCellRenderer { - private static final Logger logger = Logger.getLogger(ActionCellRenderer.class); + private static final Logger logger = + Logger.getLogger(ActionCellRenderer.class); private static Label s_noAction; private static Label s_primary; private static ControlLink s_link; @@ -124,9 +132,11 @@ public class ItemLanguagesTable extends DataTable { logger.debug("Static initializer is starting..."); s_noAction = new Label(" ", false); s_noAction.lock(); - s_primary = new Label(GlobalizationUtil.globalize("cms.ui.primary_instance"), false); + s_primary = new Label(GlobalizationUtil.globalize( + "cms.ui.primary_instance"), false); s_primary.lock(); - s_link = new ControlLink(new Label(GlobalizationUtil.globalize("cms.ui.delete"))); + s_link = new ControlLink(new Label(GlobalizationUtil.globalize( + "cms.ui.delete"))); s_link.setConfirmation("Permanently delete this item?"); // XXX G11N ? logger.debug("Static initalizer finished."); } @@ -137,8 +147,8 @@ public class ItemLanguagesTable extends DataTable { } public Component getComponent(Table table, PageState state, Object value, - boolean isSelected, Object key, - int row, int column) { + boolean isSelected, Object key, + int row, int column) { if (m_model.getSelectedKey(state).equals(key)) { return s_noAction; } else { @@ -146,10 +156,13 @@ public class ItemLanguagesTable extends DataTable { BigDecimal id = new BigDecimal(key.toString()); OID oid = new OID(ContentPage.BASE_DATA_OBJECT_TYPE, id); try { - ContentPage item = (ContentPage) DomainObjectFactory.newInstance(oid); + ContentPage item = (ContentPage) DomainObjectFactory. + newInstance(oid); if (item.getLanguage().equals( item.getContentBundle().getDefaultLanguage())) { return s_primary; + } else if (item.getLiveVersion() != null) { + return s_noAction; } } catch (com.arsdigita.domain.DataObjectNotFoundException ex) { return s_noAction; @@ -174,7 +187,8 @@ public class ItemLanguagesTable extends DataTable { OID oid = new OID(ContentPage.BASE_DATA_OBJECT_TYPE, id); try { - ContentPage item = (ContentPage) DomainObjectFactory.newInstance(oid); + ContentPage item = + (ContentPage) DomainObjectFactory.newInstance(oid); ContentBundle bundle = item.getContentBundle(); bundle.removeInstance(item); item.delete();