diff --git a/ccm-cms-publicpersonalprofile/application.xml b/ccm-cms-publicpersonalprofile/application.xml
index 40bbc45fa..b9eb19387 100644
--- a/ccm-cms-publicpersonalprofile/application.xml
+++ b/ccm-cms-publicpersonalprofile/application.xml
@@ -7,7 +7,8 @@
webapp="ROOT">
-
+
+
diff --git a/ccm-cms-publicpersonalprofile/src/ccm-cms-publicpersonalprofile.load b/ccm-cms-publicpersonalprofile/src/ccm-cms-publicpersonalprofile.load
index e0f2f9776..ab7433b96 100644
--- a/ccm-cms-publicpersonalprofile/src/ccm-cms-publicpersonalprofile.load
+++ b/ccm-cms-publicpersonalprofile/src/ccm-cms-publicpersonalprofile.load
@@ -3,7 +3,9 @@
+
+
diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfile.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfile.java
index 61c1ecadf..42c2c0c35 100644
--- a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfile.java
+++ b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfile.java
@@ -18,6 +18,7 @@ public class PublicPersonalProfile extends ContentPage {
public static final String OWNER = "owner";
public static final String PROFILE_URL = "profileUrl";
+ public static final String LINK_LIST_NAME = "publicPersonalProfileNavItems";
public static final String BASE_DATA_OBJECT_TYPE =
"com.arsdigita.cms.contenttypes.PublicPersonalProfile";
diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileNavItem.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileNavItem.java
index 9fbda6049..72d1291a2 100644
--- a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileNavItem.java
+++ b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileNavItem.java
@@ -20,7 +20,7 @@ public class PublicPersonalProfileNavItem extends DomainObject {
public static final String ORDER = "navItemOrder";
public static final String GENERATOR_CLASS = "generatorClass";
public static final String BASE_DATA_OBJECT_TYPE =
- "com.arsdigita.cms.PublicPersonalProfileNavItem";
+ "com.arsdigita.cms.contenttypes.PublicPersonalProfileNavItem";
public PublicPersonalProfileNavItem() {
this(BASE_DATA_OBJECT_TYPE);
diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileNavItemCollection.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileNavItemCollection.java
index 7ea30ed11..62dfd66cb 100644
--- a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileNavItemCollection.java
+++ b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileNavItemCollection.java
@@ -44,7 +44,7 @@ public class PublicPersonalProfileNavItemCollection extends DomainCollection {
}
public final void addLanguageFilter(final String language) {
- languageFilter = this.addEqualsFilter(PublicPersonalProfileNavItem.KEY,
+ languageFilter = this.addEqualsFilter(PublicPersonalProfileNavItem.LANG,
language);
}
diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileNavigationAddForm.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileNavigationAddForm.java
index e1ba4c382..ab0a25904 100644
--- a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileNavigationAddForm.java
+++ b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileNavigationAddForm.java
@@ -1,7 +1,9 @@
package com.arsdigita.cms.contenttypes.ui;
+import com.arsdigita.bebop.FormData;
import com.arsdigita.bebop.FormProcessException;
import com.arsdigita.bebop.Label;
+import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
@@ -11,10 +13,19 @@ import com.arsdigita.bebop.form.SingleSelect;
import com.arsdigita.bebop.parameters.NotNullValidationListener;
import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.bebop.parameters.StringParameter;
+import com.arsdigita.cms.ContentBundle;
+import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ItemSelectionModel;
+import com.arsdigita.cms.contentassets.RelatedLink;
+import com.arsdigita.cms.contenttypes.Link;
+import com.arsdigita.cms.contenttypes.PublicPersonalProfile;
+import com.arsdigita.cms.contenttypes.PublicPersonalProfileNavItem;
+import com.arsdigita.cms.contenttypes.PublicPersonalProfileNavItemCollection;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
+import com.arsdigita.dispatcher.DispatcherHelper;
+import com.arsdigita.mimetypes.MimeType;
import org.apache.log4j.Logger;
/**
@@ -37,8 +48,17 @@ public class PublicPersonalProfileNavigationAddForm
private SimpleEditStep editStep;
public PublicPersonalProfileNavigationAddForm(
- ItemSelectionModel itemModel,
- SimpleEditStep editStep) {
+ final ItemSelectionModel itemModel,
+ final SimpleEditStep editStep) {
+ this("PublicPersonalProfileNavAddForm", itemModel, editStep);
+ this.itemModel = itemModel;
+ this.editStep = editStep;
+ }
+
+ public PublicPersonalProfileNavigationAddForm(
+ final String formName,
+ final ItemSelectionModel itemModel,
+ final SimpleEditStep editStep) {
super("PublicPersonalProfileNavAddForm", itemModel);
this.itemModel = itemModel;
this.editStep = editStep;
@@ -46,24 +66,41 @@ public class PublicPersonalProfileNavigationAddForm
@Override
public void addWidgets() {
- add(new Label((String) PublicPersonalProfileGlobalizationUtil.
- globalize("publicpersonalprofile.ui.nav.select_nav_item").
+ add(new Label((String) PublicPersonalProfileGlobalizationUtil.globalize(
+ "publicpersonalprofile.ui.nav.select_nav_item").
localize()));
- ParameterModel navItemModel = new StringParameter("navItemName");
+ ParameterModel navItemModel =
+ new StringParameter(PublicPersonalProfileNavItem.KEY);
SingleSelect navItemSelect = new SingleSelect(navItemModel);
navItemSelect.addValidationListener(new NotNullValidationListener());
- final String[] mockNav = new String[]{"Allgemein", "Beruflich",
- "Forschung", "Lehre", "Projekte",
- "Publikationen"};
- for (String nav : mockNav) {
- navItemSelect.addOption(new Option(nav));
+
+ PublicPersonalProfileNavItemCollection navItems =
+ new PublicPersonalProfileNavItemCollection();
+ navItems.addLanguageFilter(DispatcherHelper.getNegotiatedLocale().
+ getLanguage());
+ if (showGenerated()) {
+ navItems.addFilter("generatorClass is not null");
+ } else {
+ navItems.addFilter("generatorClass is null");
}
- add(new Label((String) PublicPersonalProfileGlobalizationUtil.
- globalize("publicpersonalprofile.ui.nav.select_target").
- localize()));
- itemSearch = new ItemSearchWidget(ITEM_SEARCH);
- add(this.itemSearch);
+ PublicPersonalProfileNavItem navItem;
+ while (navItems.next()) {
+ navItem = navItems.getNavItem();
+
+ navItemSelect.addOption(new Option(navItem.getKey(),
+ navItem.getLabel()));
+ }
+ add(navItemSelect);
+
+ if (!showGenerated()) {
+ add(new Label((String) PublicPersonalProfileGlobalizationUtil.
+ globalize(
+ "publicpersonalprofile.ui.nav.select_target").
+ localize()));
+ itemSearch = new ItemSearchWidget(ITEM_SEARCH);
+ add(this.itemSearch);
+ }
}
@Override
@@ -72,5 +109,53 @@ public class PublicPersonalProfileNavigationAddForm
@Override
public void process(FormSectionEvent fse) throws FormProcessException {
+ PageState state = fse.getPageState();
+ FormData data = fse.getFormData();
+
+ String navKey = (String) data.get(PublicPersonalProfileNavItem.KEY);
+
+ PublicPersonalProfile profile = (PublicPersonalProfile) itemModel.
+ getSelectedObject(state);
+
+ RelatedLink link = new RelatedLink();
+ link.setLinkListName(PublicPersonalProfile.LINK_LIST_NAME);
+ link.setLinkOwner(profile);
+
+ link.setResourceSize("");
+ link.setResourceType(MimeType.loadMimeType("text/html"));
+
+ PublicPersonalProfileNavItemCollection navItems =
+ new PublicPersonalProfileNavItemCollection();
+ navItems.addLanguageFilter(DispatcherHelper.getNegotiatedLocale().
+ getLanguage());
+ navItems.addKeyFilter(navKey);
+ navItems.next();
+ PublicPersonalProfileNavItem navItem = navItems.getNavItem();
+
+ link.setTitle(navItem.getKey());
+ link.setDescription("");
+ link.setOrder(navItem.getOrder());
+ link.setTargetType(Link.INTERNAL_LINK);
+
+ ContentItem targetItem;
+ if (showGenerated()) {
+ //For generated content the target is the profile itself.
+ targetItem = profile;
+ } else {
+ targetItem = (ContentItem) data.get(ITEM_SEARCH);
+ }
+
+ if (targetItem.getParent() instanceof ContentBundle) {
+ targetItem = (ContentItem) targetItem.getParent();
+ }
+
+ link.setTargetItem(targetItem);
+ link.setTargetWindow("");
+
+ link.save();
+ }
+
+ protected boolean showGenerated() {
+ return false;
}
}
diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileNavigationGeneratedAddForm.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileNavigationGeneratedAddForm.java
new file mode 100644
index 000000000..56ca6ad61
--- /dev/null
+++ b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileNavigationGeneratedAddForm.java
@@ -0,0 +1,23 @@
+package com.arsdigita.cms.contenttypes.ui;
+
+import com.arsdigita.cms.ItemSelectionModel;
+import com.arsdigita.cms.ui.authoring.SimpleEditStep;
+
+/**
+ *
+ * @author Jens Pelzetter
+ * @version $Id$
+ */
+public class PublicPersonalProfileNavigationGeneratedAddForm extends PublicPersonalProfileNavigationAddForm {
+
+ public PublicPersonalProfileNavigationGeneratedAddForm(
+ final ItemSelectionModel itemModel,
+ final SimpleEditStep editStep) {
+ super("PublicPersonalProfileNavGeneratedAddForm", itemModel, editStep);
+ }
+
+ @Override
+ public boolean showGenerated() {
+ return true;
+ }
+}
diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileNavigationStep.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileNavigationStep.java
index bfdae2749..d64765b6c 100644
--- a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileNavigationStep.java
+++ b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileNavigationStep.java
@@ -12,32 +12,47 @@ import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
* @version $Id$
*/
public class PublicPersonalProfileNavigationStep extends SimpleEditStep {
-
- public static final String EDIT_NAV_SHEET_NAME = "editNav";
-
+
+ public static final String EDIT_NAV_ITEM_SHEET_NAME = "editNavItem";
+ public static final String EDIT_NAV_GENERATED_ITEM_SHEET_NAME =
+ "editGeneratedNavItem";
+
public PublicPersonalProfileNavigationStep(
final ItemSelectionModel itemModel,
final AuthoringKitWizard parent) {
- this(itemModel, parent, null);
+ this(itemModel, parent, null);
}
-
- public PublicPersonalProfileNavigationStep(
+
+ public PublicPersonalProfileNavigationStep(
final ItemSelectionModel itemModel,
final AuthoringKitWizard parent,
final String prefix) {
- super(itemModel, parent, prefix);
-
- BasicItemForm editNavSheet = new PublicPersonalProfileNavigationAddForm(itemModel, this);
- add(EDIT_NAV_SHEET_NAME,
- (String) PublicPersonalProfileGlobalizationUtil.globalize("publicpersonalprofile.ui.profile.nav_add").localize(),
- new WorkflowLockedComponentAccess(editNavSheet, itemModel),
- editNavSheet.getSaveCancelSection().getCancelButton());
-
- PublicPersonalProfileNavigationTable navTable = new PublicPersonalProfileNavigationTable(itemModel, this);
- setDisplayComponent(navTable);
- }
-
-
-
-
+ super(itemModel, parent, prefix);
+
+ BasicItemForm editNavItemSheet =
+ new PublicPersonalProfileNavigationAddForm(itemModel,
+ this);
+ add(EDIT_NAV_ITEM_SHEET_NAME,
+ (String) PublicPersonalProfileGlobalizationUtil.globalize(
+ "publicpersonalprofile.ui.profile.content.add").localize(),
+ new WorkflowLockedComponentAccess(editNavItemSheet, itemModel),
+ editNavItemSheet.getSaveCancelSection().getCancelButton());
+
+ BasicItemForm editGeneratedNavItemSheet =
+ new PublicPersonalProfileNavigationGeneratedAddForm(
+ itemModel,
+ this);
+ add(EDIT_NAV_GENERATED_ITEM_SHEET_NAME,
+ (String) PublicPersonalProfileGlobalizationUtil.globalize(
+ "publicpersonalprofile.ui.profile.generated_content.add").
+ localize(),
+ new WorkflowLockedComponentAccess(editGeneratedNavItemSheet,
+ itemModel),
+ editGeneratedNavItemSheet.getSaveCancelSection().getCancelButton());
+
+ PublicPersonalProfileNavigationTable navTable =
+ new PublicPersonalProfileNavigationTable(
+ itemModel, this);
+ setDisplayComponent(navTable);
+ }
}
diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileNavigationTable.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileNavigationTable.java
index 9fb822062..62278bdc5 100644
--- a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileNavigationTable.java
+++ b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileNavigationTable.java
@@ -1,7 +1,9 @@
package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.Component;
+import com.arsdigita.bebop.ControlLink;
import com.arsdigita.bebop.Label;
+import com.arsdigita.bebop.Link;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.Table;
import com.arsdigita.bebop.event.TableActionEvent;
@@ -11,10 +13,23 @@ import com.arsdigita.bebop.table.TableColumn;
import com.arsdigita.bebop.table.TableColumnModel;
import com.arsdigita.bebop.table.TableModel;
import com.arsdigita.bebop.table.TableModelBuilder;
+import com.arsdigita.cms.CMS;
+import com.arsdigita.cms.ContentItem;
+import com.arsdigita.cms.ContentPage;
+import com.arsdigita.cms.ContentSection;
import com.arsdigita.cms.ItemSelectionModel;
+import com.arsdigita.cms.contentassets.RelatedLink;
+import com.arsdigita.cms.contenttypes.PublicPersonalProfile;
+import com.arsdigita.cms.contenttypes.PublicPersonalProfileNavItem;
+import com.arsdigita.cms.contenttypes.PublicPersonalProfileNavItemCollection;
+import com.arsdigita.cms.dispatcher.ItemResolver;
import com.arsdigita.cms.dispatcher.Utilities;
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
+import com.arsdigita.dispatcher.DispatcherHelper;
+import com.arsdigita.persistence.DataCollection;
import com.arsdigita.util.LockableImpl;
+import java.math.BigDecimal;
+import java.math.BigInteger;
import org.apache.log4j.Logger;
/**
@@ -29,18 +44,19 @@ public class PublicPersonalProfileNavigationTable
private static final Logger logger = Logger.getLogger(
PublicPersonalProfileNavigationTable.class);
private final String TABLE_COL_EDIT = "table_col_edit";
+ private final String TABLE_COL_TARGET = "table_col_target";
private final String TABLE_COL_DEL = "table_col_del";
private ItemSelectionModel itemModel;
private SimpleEditStep editStep;
public PublicPersonalProfileNavigationTable(ItemSelectionModel itemModel,
- SimpleEditStep editStep) {
+ SimpleEditStep editStep) {
super();
this.itemModel = itemModel;
this.editStep = editStep;
- setEmptyView(new Label(PublicPersonalProfileGlobalizationUtil.
- globalize("publicpersonalprofile.ui.nav.empty")));
+ setEmptyView(new Label(PublicPersonalProfileGlobalizationUtil.globalize(
+ "publicpersonalprofile.ui.nav.empty")));
TableColumnModel colModel = getColumnModel();
colModel.add(new TableColumn(
@@ -48,9 +64,16 @@ public class PublicPersonalProfileNavigationTable
PublicPersonalProfileGlobalizationUtil.globalize(
"publicpersonalprofile.ui.nav.target").localize(),
TABLE_COL_EDIT));
+
colModel.add(new TableColumn(
1,
PublicPersonalProfileGlobalizationUtil.globalize(
+ "publicpersonalprofile.ui.nav.targetitem").localize(),
+ TABLE_COL_TARGET));
+
+ colModel.add(new TableColumn(
+ 2,
+ PublicPersonalProfileGlobalizationUtil.globalize(
"publicpersonalprofile.ui.nav.remove").localize(),
TABLE_COL_DEL));
@@ -58,7 +81,8 @@ public class PublicPersonalProfileNavigationTable
itemModel));
colModel.get(0).setCellRenderer(new EditCellRenderer());
- colModel.get(1).setCellRenderer(new DeleteCellRenderer());
+ colModel.get(1).setCellRenderer(new TargetCellRenderer());
+ colModel.get(2).setCellRenderer(new DeleteCellRenderer());
addTableActionListener(this);
}
@@ -77,7 +101,10 @@ public class PublicPersonalProfileNavigationTable
@Override
public TableModel makeModel(Table table, PageState state) {
table.getRowSelectionModel().clearSelection(state);
- return new PublicPersonalProfileNavigationTableModel(table, state);
+ PublicPersonalProfile profile = (PublicPersonalProfile) itemModel.
+ getSelectedObject(state);
+ return new PublicPersonalProfileNavigationTableModel(
+ table, state, profile);
}
}
@@ -90,10 +117,16 @@ public class PublicPersonalProfileNavigationTable
"Publikationen"};
private int index = -1;
private String mockNavItem;
+ private PublicPersonalProfile profile;
+ private DataCollection linkCollection;
+ private PublicPersonalProfileNavItemCollection navItems;
- public PublicPersonalProfileNavigationTableModel(Table table,
- PageState state) {
+ public PublicPersonalProfileNavigationTableModel(
+ Table table, PageState state, PublicPersonalProfile profile) {
this.table = table;
+ linkCollection = RelatedLink.getRelatedLinks(
+ profile, PublicPersonalProfile.LINK_LIST_NAME);
+ navItems = new PublicPersonalProfileNavItemCollection();
}
@Override
@@ -103,20 +136,38 @@ public class PublicPersonalProfileNavigationTable
@Override
public boolean nextRow() {
- if (index < (mockNav.length - 1)) {
- index++;
- return true;
+ /*if (index < (mockNav.length - 1)) {
+ index++;
+ return true;
} else {
- return false;
- }
+ return false;
+ }*/
+ return linkCollection.next();
}
@Override
public Object getElementAt(int columnIndex) {
+ RelatedLink link = new RelatedLink(linkCollection.getDataObject());
+ String key = link.getTitle();
+ ContentItem targetItem = link.getTargetItem();
+ PublicPersonalProfileNavItem navItem;
+
+ navItem = navItems.getNavItem(key, DispatcherHelper.
+ getNegotiatedLocale().
+ getLanguage());
+ navItems.reset();
+
switch (columnIndex) {
case 0:
- return mockNav[index];
+ //return mockNav[index];
+ return navItem.getLabel();
case 1:
+ if (navItem.getGeneratorClass() == null) {
+ return targetItem;
+ } else {
+ return null;
+ }
+ case 2:
return PublicPersonalProfileGlobalizationUtil.globalize(
"publicpersonalprofile.ui.nav.remove").localize();
default:
@@ -126,7 +177,8 @@ public class PublicPersonalProfileNavigationTable
@Override
public Object getKeyAt(int columnIndex) {
- return index;
+ RelatedLink link = new RelatedLink(linkCollection.getDataObject());
+ return link.getID();
}
}
@@ -148,6 +200,47 @@ public class PublicPersonalProfileNavigationTable
}
}
+ private class TargetCellRenderer
+ extends LockableImpl
+ implements TableCellRenderer {
+
+ public Component getComponent(Table table,
+ PageState state,
+ Object value,
+ boolean isSelected,
+ Object key,
+ int row,
+ int column) {
+ if (value == null) {
+ return new Label("");
+ } else {
+ final ContentPage item = (ContentPage) value;
+
+ com.arsdigita.cms.SecurityManager securityManager = Utilities.
+ getSecurityManager(state);
+
+ final boolean canEdit = securityManager.canAccess(
+ state.getRequest(),
+ com.arsdigita.cms.SecurityManager.EDIT_ITEM,
+ item);
+
+ if (canEdit) {
+ final ContentSection section = CMS.getContext().
+ getContentSection();
+ ItemResolver resolver = section.getItemResolver();
+
+ Link link = new Link(item.getTitle(),
+ resolver.generateItemURL(
+ state, item, section, item.getVersion()));
+
+ return link;
+ } else {
+ return new Label(item.getTitle());
+ }
+ }
+ }
+ }
+
private class DeleteCellRenderer
extends LockableImpl
implements TableCellRenderer {
@@ -162,25 +255,25 @@ public class PublicPersonalProfileNavigationTable
int col) {
com.arsdigita.cms.SecurityManager securityManager =
Utilities.getSecurityManager(state);
- /*Publication publication = (Publication) m_itemModel.
- getSelectedObject(state);
-
+ PublicPersonalProfile profile = (PublicPersonalProfile) itemModel.
+ getSelectedObject(
+ state);
+
boolean canDelete = securityManager.canAccess(
- state.getRequest(),
- SecurityManager.DELETE_ITEM,
- publication);
-
+ state.getRequest(),
+ com.arsdigita.cms.SecurityManager.DELETE_ITEM,
+ profile);
+
if (canDelete) {
- ControlLink link = new ControlLink(value.toString());
- link.setConfirmation((String) PublicationGlobalizationUtil.
- globalize(
- "publications.ui.authors.author.confirm_remove").
- localize());
- return link;
- } else {*/
- Label label = new Label(value.toString());
- return label;
- //}
+ ControlLink link = new ControlLink(value.toString());
+ link.setConfirmation((String) PublicPersonalProfileGlobalizationUtil.
+ globalize("publicpersonalprofile.ui.nav.remove.confirm").
+ localize());
+ return link;
+ } else {
+ Label label = new Label(value.toString());
+ return label;
+ }
}
}
@@ -193,6 +286,12 @@ public class PublicPersonalProfileNavigationTable
if (TABLE_COL_EDIT.equals(column.getHeaderKey().toString())) {
} else if (TABLE_COL_DEL.equals(column.getHeaderKey().toString())) {
+ final BigDecimal linkId = new BigDecimal(
+ event.getRowKey().toString());
+
+ RelatedLink link = new RelatedLink(linkId);
+
+ link.delete();
}
}