Removed legacy components from ccm-cms-profile-site
parent
425373f34f
commit
198c7d7b83
|
|
@ -1,130 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2021 LibreCCM Foundation.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import org.librecms.assets.Person;
|
||||
import org.librecms.contentsection.AssetRepository;
|
||||
import org.librecms.contentsection.ContentItemRepository;
|
||||
import org.librecms.profilesite.ProfileSiteItem;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
import javax.inject.Inject;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
@RequestScoped
|
||||
class ProfileSiteItemController {
|
||||
|
||||
public static final String OWNER = "owner";
|
||||
|
||||
public static final String POSITION = "position";
|
||||
|
||||
public static final String INTERSETS = "interests";
|
||||
|
||||
public static final String MISC = "misc";
|
||||
|
||||
@Inject
|
||||
private AssetRepository assetRepository;
|
||||
|
||||
@Inject
|
||||
private ContentItemRepository itemRepository;
|
||||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
public void setOwner(final long profileSiteItemId, final long ownerId) {
|
||||
final ProfileSiteItem profileSiteItem = itemRepository
|
||||
.findById(profileSiteItemId, ProfileSiteItem.class)
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No ProfileSiteItem with ID %d found.",
|
||||
profileSiteItemId
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
final Person owner = assetRepository
|
||||
.findById(ownerId, Person.class)
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No Person with ID %d found.", ownerId
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
profileSiteItem.setOwner(owner);
|
||||
itemRepository.save(profileSiteItem);
|
||||
}
|
||||
|
||||
public void setPosition(
|
||||
final long profileSiteItemId, final String position, final Locale locale
|
||||
) {
|
||||
final ProfileSiteItem profileSiteItem = itemRepository
|
||||
.findById(profileSiteItemId, ProfileSiteItem.class)
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No ProfileSiteItem with ID %d found.",
|
||||
profileSiteItemId
|
||||
)
|
||||
)
|
||||
);
|
||||
profileSiteItem.getPosition().putValue(locale, position);
|
||||
}
|
||||
|
||||
public void setInterests(
|
||||
final long profileSiteItemId,
|
||||
final String interests,
|
||||
final Locale locale
|
||||
) {
|
||||
final ProfileSiteItem profileSiteItem = itemRepository
|
||||
.findById(profileSiteItemId, ProfileSiteItem.class)
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No ProfileSiteItem with ID %d found.",
|
||||
profileSiteItemId
|
||||
)
|
||||
)
|
||||
);
|
||||
profileSiteItem.getInterests().putValue(locale, interests);
|
||||
}
|
||||
|
||||
public void setMisc(
|
||||
final long profileSiteItemId, final String misc, final Locale locale
|
||||
) {
|
||||
final ProfileSiteItem profileSiteItem = itemRepository
|
||||
.findById(profileSiteItemId, ProfileSiteItem.class)
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No ProfileSiteItem with ID %d found.",
|
||||
profileSiteItemId
|
||||
)
|
||||
)
|
||||
);
|
||||
profileSiteItem.getMisc().putValue(locale, misc);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,93 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2021 LibreCCM Foundation.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.FormData;
|
||||
import com.arsdigita.bebop.FormProcessException;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||
import com.arsdigita.bebop.parameters.StringParameter;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.ui.assets.AssetSearchWidget;
|
||||
import com.arsdigita.cms.ui.authoring.CreationSelector;
|
||||
import com.arsdigita.cms.ui.authoring.PageCreateForm;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
|
||||
import org.librecms.assets.Person;
|
||||
import org.librecms.contentsection.ContentItemInitializer;
|
||||
import org.librecms.profilesite.ProfileSiteConstants;
|
||||
import org.librecms.profilesite.ProfileSiteItem;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class ProfileSiteItemCreate extends PageCreateForm {
|
||||
|
||||
private final static String OWNER_SEARCH = "owner";
|
||||
|
||||
private AssetSearchWidget ownerSearch;
|
||||
|
||||
public ProfileSiteItemCreate(
|
||||
final ItemSelectionModel itemModel,
|
||||
final CreationSelector creationSelector,
|
||||
final StringParameter selectedLanguageParam
|
||||
) {
|
||||
super(itemModel, creationSelector, selectedLanguageParam);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addWidgets() {
|
||||
ownerSearch = new AssetSearchWidget(OWNER_SEARCH, Person.class);
|
||||
ownerSearch.setLabel(
|
||||
new GlobalizedMessage(
|
||||
"profile_site.owner.label", ProfileSiteConstants.BUNDLE
|
||||
)
|
||||
);
|
||||
add(ownerSearch);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void validate(final FormSectionEvent event)
|
||||
throws FormProcessException {
|
||||
super.validate(event);
|
||||
final FormData formData = event.getFormData();
|
||||
|
||||
if (!formData.containsKey(OWNER_SEARCH)
|
||||
|| formData.get(OWNER_SEARCH) == null) {
|
||||
formData.addError(
|
||||
new GlobalizedMessage(
|
||||
"profile_site.owner.not_selected",
|
||||
ProfileSiteConstants.BUNDLE
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ContentItemInitializer<ProfileSiteItem> getItemInitializer(
|
||||
final FormData formData, final PageState state
|
||||
) {
|
||||
return (item) -> item.setOwner((Person) formData.get(OWNER_SEARCH));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,121 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2021 LibreCCM Foundation.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
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;
|
||||
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||
import com.arsdigita.bebop.form.TextArea;
|
||||
import com.arsdigita.bebop.parameters.ParameterModel;
|
||||
import com.arsdigita.bebop.parameters.StringParameter;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
import com.arsdigita.cms.ui.authoring.SelectedLanguageUtil;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
|
||||
import org.libreccm.cdi.utils.CdiUtil;
|
||||
import org.librecms.profilesite.ProfileSiteConstants;
|
||||
import org.librecms.profilesite.ProfileSiteItem;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class ProfileSiteItemInterestsForm
|
||||
extends BasicItemForm
|
||||
implements FormProcessListener, FormInitListener {
|
||||
|
||||
private final StringParameter selectedLangParam;
|
||||
|
||||
public ProfileSiteItemInterestsForm(
|
||||
final ItemSelectionModel itemModel,
|
||||
final StringParameter selectedLangParam
|
||||
) {
|
||||
super("ProfileSiteItemEditInterests", itemModel, selectedLangParam);
|
||||
this.selectedLangParam = selectedLangParam;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addWidgets() {
|
||||
add(
|
||||
new Label(
|
||||
new GlobalizedMessage(
|
||||
"profile_site_item.ui.interests",
|
||||
ProfileSiteConstants.BUNDLE
|
||||
)
|
||||
)
|
||||
);
|
||||
final ParameterModel interestsParam = new StringParameter(
|
||||
ProfileSiteItemController.POSITION);
|
||||
final TextArea interests = new TextArea(interestsParam);
|
||||
interests.setCols(80);
|
||||
interests.setRows(8);
|
||||
add(interests);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(final FormSectionEvent event) throws FormProcessException {
|
||||
final PageState state = event.getPageState();
|
||||
final FormData data = event.getFormData();
|
||||
final ProfileSiteItem profile
|
||||
= (ProfileSiteItem) getItemSelectionModel()
|
||||
.getSelectedItem(state);
|
||||
|
||||
data.put(ProfileSiteItemController.POSITION, profile.getInterests());
|
||||
|
||||
setVisible(state, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(final FormSectionEvent event)
|
||||
throws FormProcessException {
|
||||
final PageState state = event.getPageState();
|
||||
final FormData data = event.getFormData();
|
||||
final ProfileSiteItem profile
|
||||
= (ProfileSiteItem) getItemSelectionModel()
|
||||
.getSelectedItem(state);
|
||||
|
||||
if ((profile != null)
|
||||
&& getSaveCancelSection().getSaveButton().isSelected(state)) {
|
||||
|
||||
final ProfileSiteItemController controller = CdiUtil
|
||||
.createCdiUtil()
|
||||
.findBean(ProfileSiteItemController.class);
|
||||
|
||||
final Locale selectedLocale = SelectedLanguageUtil.selectedLocale(
|
||||
state, selectedLangParam
|
||||
);
|
||||
|
||||
controller.setInterests(
|
||||
profile.getObjectId(),
|
||||
(String) data.get(ProfileSiteItemController.POSITION),
|
||||
selectedLocale
|
||||
);
|
||||
}
|
||||
|
||||
init(event);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,94 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2021 LibreCCM Foundation.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.Component;
|
||||
import com.arsdigita.bebop.parameters.StringParameter;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
|
||||
|
||||
import org.librecms.profilesite.ProfileSiteConstants;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class ProfileSiteItemInterestsStep extends SimpleEditStep {
|
||||
|
||||
private String EDIT_POSITION_SHEET_NAME = "editInterests";
|
||||
|
||||
public ProfileSiteItemInterestsStep(
|
||||
final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final StringParameter selectedLangParam
|
||||
) {
|
||||
this(itemModel, parent, selectedLangParam, null);
|
||||
}
|
||||
|
||||
public ProfileSiteItemInterestsStep(
|
||||
final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final StringParameter selectedLangParam,
|
||||
final String prefix
|
||||
) {
|
||||
super(itemModel, parent, selectedLangParam, prefix);
|
||||
|
||||
final BasicItemForm editInterestsForm = new ProfileSiteItemInterestsForm(
|
||||
itemModel, selectedLangParam
|
||||
);
|
||||
add(
|
||||
EDIT_POSITION_SHEET_NAME,
|
||||
new GlobalizedMessage(
|
||||
"profile_site_site.ui.interests.edit",
|
||||
ProfileSiteConstants.BUNDLE
|
||||
),
|
||||
new WorkflowLockedComponentAccess(parent, itemModel),
|
||||
editInterestsForm.getSaveCancelSection().getCancelButton()
|
||||
);
|
||||
|
||||
setDisplayComponent(getProfileSiteItemInterestsSheet(
|
||||
itemModel, selectedLangParam)
|
||||
);
|
||||
}
|
||||
|
||||
public static final Component getProfileSiteItemInterestsSheet(
|
||||
final ItemSelectionModel itemModel,
|
||||
final StringParameter selectedLangParam
|
||||
) {
|
||||
final DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(
|
||||
itemModel, false, selectedLangParam
|
||||
);
|
||||
|
||||
sheet.add(
|
||||
new GlobalizedMessage(
|
||||
"profile_site_item.ui.interests",
|
||||
ProfileSiteConstants.BUNDLE
|
||||
),
|
||||
ProfileSiteItemController.POSITION
|
||||
);
|
||||
|
||||
return sheet;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,121 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2021 LibreCCM Foundation.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
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;
|
||||
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||
import com.arsdigita.bebop.form.TextArea;
|
||||
import com.arsdigita.bebop.parameters.ParameterModel;
|
||||
import com.arsdigita.bebop.parameters.StringParameter;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
import com.arsdigita.cms.ui.authoring.SelectedLanguageUtil;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
|
||||
import org.libreccm.cdi.utils.CdiUtil;
|
||||
import org.librecms.profilesite.ProfileSiteConstants;
|
||||
import org.librecms.profilesite.ProfileSiteItem;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class ProfileSiteItemMiscForm
|
||||
extends BasicItemForm
|
||||
implements FormProcessListener, FormInitListener {
|
||||
|
||||
private final StringParameter selectedLangParam;
|
||||
|
||||
public ProfileSiteItemMiscForm(
|
||||
final ItemSelectionModel itemModel,
|
||||
final StringParameter selectedLangParam
|
||||
) {
|
||||
super("ProfileSiteItemEditMisc", itemModel, selectedLangParam);
|
||||
this.selectedLangParam = selectedLangParam;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addWidgets() {
|
||||
add(
|
||||
new Label(
|
||||
new GlobalizedMessage(
|
||||
"profile_site_item.ui.misc",
|
||||
ProfileSiteConstants.BUNDLE
|
||||
)
|
||||
)
|
||||
);
|
||||
final ParameterModel miscParam = new StringParameter(
|
||||
ProfileSiteItemController.POSITION);
|
||||
final TextArea misc = new TextArea(miscParam);
|
||||
misc.setCols(80);
|
||||
misc.setRows(8);
|
||||
add(misc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(final FormSectionEvent event) throws FormProcessException {
|
||||
final PageState state = event.getPageState();
|
||||
final FormData data = event.getFormData();
|
||||
final ProfileSiteItem profile
|
||||
= (ProfileSiteItem) getItemSelectionModel()
|
||||
.getSelectedItem(state);
|
||||
|
||||
data.put(ProfileSiteItemController.POSITION, profile.getMisc());
|
||||
|
||||
setVisible(state, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(final FormSectionEvent event)
|
||||
throws FormProcessException {
|
||||
final PageState state = event.getPageState();
|
||||
final FormData data = event.getFormData();
|
||||
final ProfileSiteItem profile
|
||||
= (ProfileSiteItem) getItemSelectionModel()
|
||||
.getSelectedItem(state);
|
||||
|
||||
if ((profile != null)
|
||||
&& getSaveCancelSection().getSaveButton().isSelected(state)) {
|
||||
|
||||
final ProfileSiteItemController controller = CdiUtil
|
||||
.createCdiUtil()
|
||||
.findBean(ProfileSiteItemController.class);
|
||||
|
||||
final Locale selectedLocale = SelectedLanguageUtil.selectedLocale(
|
||||
state, selectedLangParam
|
||||
);
|
||||
|
||||
controller.setMisc(
|
||||
profile.getObjectId(),
|
||||
(String) data.get(ProfileSiteItemController.POSITION),
|
||||
selectedLocale
|
||||
);
|
||||
}
|
||||
|
||||
init(event);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,94 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2021 LibreCCM Foundation.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.Component;
|
||||
import com.arsdigita.bebop.parameters.StringParameter;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
|
||||
|
||||
import org.librecms.profilesite.ProfileSiteConstants;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class ProfileSiteItemMiscStep extends SimpleEditStep {
|
||||
|
||||
private String EDIT_POSITION_SHEET_NAME = "editMisc";
|
||||
|
||||
public ProfileSiteItemMiscStep(
|
||||
final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final StringParameter selectedLangParam
|
||||
) {
|
||||
this(itemModel, parent, selectedLangParam, null);
|
||||
}
|
||||
|
||||
public ProfileSiteItemMiscStep(
|
||||
final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final StringParameter selectedLangParam,
|
||||
final String prefix
|
||||
) {
|
||||
super(itemModel, parent, selectedLangParam, prefix);
|
||||
|
||||
final BasicItemForm editMiscForm = new ProfileSiteItemMiscForm(
|
||||
itemModel, selectedLangParam
|
||||
);
|
||||
add(
|
||||
EDIT_POSITION_SHEET_NAME,
|
||||
new GlobalizedMessage(
|
||||
"profile_site_site.ui.misc.edit",
|
||||
ProfileSiteConstants.BUNDLE
|
||||
),
|
||||
new WorkflowLockedComponentAccess(parent, itemModel),
|
||||
editMiscForm.getSaveCancelSection().getCancelButton()
|
||||
);
|
||||
|
||||
setDisplayComponent(getProfileSiteItemMiscSheet(
|
||||
itemModel, selectedLangParam)
|
||||
);
|
||||
}
|
||||
|
||||
public static final Component getProfileSiteItemMiscSheet(
|
||||
final ItemSelectionModel itemModel,
|
||||
final StringParameter selectedLangParam
|
||||
) {
|
||||
final DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(
|
||||
itemModel, false, selectedLangParam
|
||||
);
|
||||
|
||||
sheet.add(
|
||||
new GlobalizedMessage(
|
||||
"profile_site_item.ui.misc",
|
||||
ProfileSiteConstants.BUNDLE
|
||||
),
|
||||
ProfileSiteItemController.POSITION
|
||||
);
|
||||
|
||||
return sheet;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,121 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2021 LibreCCM Foundation.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
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;
|
||||
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||
import com.arsdigita.bebop.form.TextArea;
|
||||
import com.arsdigita.bebop.parameters.ParameterModel;
|
||||
import com.arsdigita.bebop.parameters.StringParameter;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
import com.arsdigita.cms.ui.authoring.SelectedLanguageUtil;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
|
||||
import org.libreccm.cdi.utils.CdiUtil;
|
||||
import org.librecms.profilesite.ProfileSiteConstants;
|
||||
import org.librecms.profilesite.ProfileSiteItem;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class ProfileSiteItemPositionForm
|
||||
extends BasicItemForm
|
||||
implements FormProcessListener, FormInitListener {
|
||||
|
||||
private final StringParameter selectedLangParam;
|
||||
|
||||
public ProfileSiteItemPositionForm(
|
||||
final ItemSelectionModel itemModel,
|
||||
final StringParameter selectedLangParam
|
||||
) {
|
||||
super("ProfileSiteItemEditPosition", itemModel, selectedLangParam);
|
||||
this.selectedLangParam = selectedLangParam;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addWidgets() {
|
||||
add(
|
||||
new Label(
|
||||
new GlobalizedMessage(
|
||||
"profile_site_item.ui.position",
|
||||
ProfileSiteConstants.BUNDLE
|
||||
)
|
||||
)
|
||||
);
|
||||
final ParameterModel positionParam = new StringParameter(
|
||||
ProfileSiteItemController.POSITION);
|
||||
final TextArea position = new TextArea(positionParam);
|
||||
position.setCols(80);
|
||||
position.setRows(8);
|
||||
add(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(final FormSectionEvent event) throws FormProcessException {
|
||||
final PageState state = event.getPageState();
|
||||
final FormData data = event.getFormData();
|
||||
final ProfileSiteItem profile
|
||||
= (ProfileSiteItem) getItemSelectionModel()
|
||||
.getSelectedItem(state);
|
||||
|
||||
data.put(ProfileSiteItemController.POSITION, profile.getPosition());
|
||||
|
||||
setVisible(state, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(final FormSectionEvent event)
|
||||
throws FormProcessException {
|
||||
final PageState state = event.getPageState();
|
||||
final FormData data = event.getFormData();
|
||||
final ProfileSiteItem profile
|
||||
= (ProfileSiteItem) getItemSelectionModel()
|
||||
.getSelectedItem(state);
|
||||
|
||||
if ((profile != null)
|
||||
&& getSaveCancelSection().getSaveButton().isSelected(state)) {
|
||||
|
||||
final ProfileSiteItemController controller = CdiUtil
|
||||
.createCdiUtil()
|
||||
.findBean(ProfileSiteItemController.class);
|
||||
|
||||
final Locale selectedLocale = SelectedLanguageUtil.selectedLocale(
|
||||
state, selectedLangParam
|
||||
);
|
||||
|
||||
controller.setPosition(
|
||||
profile.getObjectId(),
|
||||
(String) data.get(ProfileSiteItemController.POSITION),
|
||||
selectedLocale
|
||||
);
|
||||
}
|
||||
|
||||
init(event);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,94 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2021 LibreCCM Foundation.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.Component;
|
||||
import com.arsdigita.bebop.parameters.StringParameter;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
|
||||
|
||||
import org.librecms.profilesite.ProfileSiteConstants;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class ProfileSiteItemPositionStep extends SimpleEditStep {
|
||||
|
||||
private String EDIT_POSITION_SHEET_NAME = "editPosition";
|
||||
|
||||
public ProfileSiteItemPositionStep(
|
||||
final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final StringParameter selectedLangParam
|
||||
) {
|
||||
this(itemModel, parent, selectedLangParam, null);
|
||||
}
|
||||
|
||||
public ProfileSiteItemPositionStep(
|
||||
final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final StringParameter selectedLangParam,
|
||||
final String prefix
|
||||
) {
|
||||
super(itemModel, parent, selectedLangParam, prefix);
|
||||
|
||||
final BasicItemForm editPositionForm = new ProfileSiteItemPositionForm(
|
||||
itemModel, selectedLangParam
|
||||
);
|
||||
add(
|
||||
EDIT_POSITION_SHEET_NAME,
|
||||
new GlobalizedMessage(
|
||||
"profile_site_site.ui.position.edit",
|
||||
ProfileSiteConstants.BUNDLE
|
||||
),
|
||||
new WorkflowLockedComponentAccess(parent, itemModel),
|
||||
editPositionForm.getSaveCancelSection().getCancelButton()
|
||||
);
|
||||
|
||||
setDisplayComponent(getProfileSiteItemPositionSheet(
|
||||
itemModel, selectedLangParam)
|
||||
);
|
||||
}
|
||||
|
||||
public static final Component getProfileSiteItemPositionSheet(
|
||||
final ItemSelectionModel itemModel,
|
||||
final StringParameter selectedLangParam
|
||||
) {
|
||||
final DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(
|
||||
itemModel, false, selectedLangParam
|
||||
);
|
||||
|
||||
sheet.add(
|
||||
new GlobalizedMessage(
|
||||
"profile_site_item.ui.position",
|
||||
ProfileSiteConstants.BUNDLE
|
||||
),
|
||||
ProfileSiteItemController.POSITION
|
||||
);
|
||||
|
||||
return sheet;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,129 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2021 LibreCCM Foundation.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.Component;
|
||||
import com.arsdigita.bebop.Label;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.bebop.SegmentedPanel;
|
||||
import com.arsdigita.bebop.parameters.StringParameter;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicPageForm;
|
||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
|
||||
|
||||
import org.librecms.assets.Person;
|
||||
import org.librecms.profilesite.ProfileSiteConstants;
|
||||
import org.librecms.profilesite.ProfileSiteItem;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class ProfileSiteItemPropertiesStep extends SimpleEditStep {
|
||||
|
||||
public static final String EDIT_SHEET_NAME = "editProfileSiteItem";
|
||||
|
||||
public ProfileSiteItemPropertiesStep(
|
||||
final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final StringParameter selectedLangParam
|
||||
) {
|
||||
super(itemModel, parent, selectedLangParam);
|
||||
|
||||
setDefaultEditKey(EDIT_SHEET_NAME);
|
||||
|
||||
final SimpleEditStep basicProperties = new SimpleEditStep(
|
||||
itemModel, parent, selectedLangParam, EDIT_SHEET_NAME
|
||||
);
|
||||
final BasicPageForm editBasicSheet = new ProfileSiteItemPropertyForm(
|
||||
itemModel, this, selectedLangParam
|
||||
);
|
||||
|
||||
basicProperties.add(
|
||||
EDIT_SHEET_NAME,
|
||||
new GlobalizedMessage(
|
||||
ProfileSiteConstants.BUNDLE,
|
||||
"profile_site.ui.edit_basic_properties"
|
||||
),
|
||||
new WorkflowLockedComponentAccess(editBasicSheet, itemModel),
|
||||
editBasicSheet.getSaveCancelSection().getCancelButton()
|
||||
);
|
||||
|
||||
basicProperties.setDisplayComponent(
|
||||
getProfileSiteItemPropertiesSheet(itemModel, selectedLangParam)
|
||||
);
|
||||
|
||||
final SegmentedPanel segmentedPanel = new SegmentedPanel();
|
||||
segmentedPanel.addSegment(
|
||||
new Label(
|
||||
new GlobalizedMessage(
|
||||
ProfileSiteConstants.BUNDLE,
|
||||
"profile_site.ui.basic_properties"
|
||||
)
|
||||
),
|
||||
basicProperties
|
||||
);
|
||||
|
||||
setDisplayComponent(segmentedPanel);
|
||||
}
|
||||
|
||||
public static Component getProfileSiteItemPropertiesSheet(
|
||||
final ItemSelectionModel itemModel,
|
||||
final StringParameter selectedLangParam
|
||||
) {
|
||||
final DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(
|
||||
itemModel, false, selectedLangParam
|
||||
);
|
||||
|
||||
sheet.add(
|
||||
new GlobalizedMessage(
|
||||
ProfileSiteConstants.BUNDLE, "profile_site.ui.OWNER"
|
||||
),
|
||||
ProfileSiteItemController.OWNER,
|
||||
new OwnerFormatter()
|
||||
);
|
||||
|
||||
return sheet;
|
||||
}
|
||||
|
||||
private static class OwnerFormatter
|
||||
implements DomainObjectPropertySheet.AttributeFormatter {
|
||||
|
||||
@Override
|
||||
public String format(
|
||||
final Object obj, final String attribute, final PageState state
|
||||
) {
|
||||
final ProfileSiteItem profileSiteItem = (ProfileSiteItem) obj;
|
||||
|
||||
final Person owner = profileSiteItem.getOwner();
|
||||
|
||||
if (owner == null) {
|
||||
return "";
|
||||
} else {
|
||||
return owner.getDisplayName();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,117 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2021 LibreCCM Foundation.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.FormData;
|
||||
import com.arsdigita.bebop.FormProcessException;
|
||||
import com.arsdigita.bebop.event.FormInitListener;
|
||||
import com.arsdigita.bebop.event.FormProcessListener;
|
||||
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||
import com.arsdigita.bebop.event.FormValidationListener;
|
||||
import com.arsdigita.bebop.parameters.StringParameter;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.ui.assets.AssetSearchWidget;
|
||||
import com.arsdigita.cms.ui.authoring.BasicPageForm;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
|
||||
import org.libreccm.cdi.utils.CdiUtil;
|
||||
import org.librecms.assets.Person;
|
||||
import org.librecms.profilesite.ProfileSiteConstants;
|
||||
import org.librecms.profilesite.ProfileSiteItem;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class ProfileSiteItemPropertyForm
|
||||
extends BasicPageForm
|
||||
implements FormInitListener, FormProcessListener, FormValidationListener {
|
||||
|
||||
public static final String ID = "PublicPersonalProfile_edit";
|
||||
|
||||
private static final String OWNER_SEARCH = "ownerSearch";
|
||||
|
||||
private final ItemSelectionModel itemModel;
|
||||
|
||||
public ProfileSiteItemPropertyForm(
|
||||
final ItemSelectionModel itemModel,
|
||||
final ProfileSiteItemPropertiesStep step,
|
||||
final StringParameter selectedLangParam
|
||||
) {
|
||||
super(ID, itemModel, selectedLangParam);
|
||||
this.itemModel = itemModel;
|
||||
addValidationListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addWidgets() {
|
||||
super.addWidgets();
|
||||
|
||||
final AssetSearchWidget ownerSearch = new AssetSearchWidget(
|
||||
OWNER_SEARCH, Person.class
|
||||
);
|
||||
add(ownerSearch);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(final FormSectionEvent event) throws FormProcessException {
|
||||
final FormData formData = event.getFormData();
|
||||
final ProfileSiteItem profileSiteItem = (ProfileSiteItem) super
|
||||
.initBasicWidgets(event);
|
||||
formData.put(OWNER_SEARCH, profileSiteItem.getOwner());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void validate(final FormSectionEvent event)
|
||||
throws FormProcessException {
|
||||
super.validate(event);
|
||||
|
||||
final FormData formData = event.getFormData();
|
||||
if (!formData.containsKey(OWNER_SEARCH)
|
||||
|| formData.get(OWNER_SEARCH) == null) {
|
||||
formData.addError(
|
||||
new GlobalizedMessage(
|
||||
"profile_site.owner.not_selected",
|
||||
ProfileSiteConstants.BUNDLE
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(final FormSectionEvent event)
|
||||
throws FormProcessException {
|
||||
|
||||
final ProfileSiteItem profileSiteItem = (ProfileSiteItem) super
|
||||
.processBasicWidgets(event);
|
||||
final FormData formData = event.getFormData();
|
||||
final Person owner = (Person) formData.get(OWNER_SEARCH);
|
||||
|
||||
final ProfileSiteItemController controller = CdiUtil
|
||||
.createCdiUtil()
|
||||
.findBean(ProfileSiteItemController.class);
|
||||
controller.setOwner(profileSiteItem.getObjectId(), owner.getObjectId());
|
||||
|
||||
init(event);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -18,17 +18,10 @@
|
|||
*/
|
||||
package org.librecms.profilesite;
|
||||
|
||||
import com.arsdigita.cms.contenttypes.ui.ProfileSiteItemCreate;
|
||||
import com.arsdigita.cms.contenttypes.ui.ProfileSiteItemInterestsStep;
|
||||
import com.arsdigita.cms.contenttypes.ui.ProfileSiteItemMiscStep;
|
||||
import com.arsdigita.cms.contenttypes.ui.ProfileSiteItemPositionStep;
|
||||
import com.arsdigita.cms.contenttypes.ui.ProfileSiteItemPropertiesStep;
|
||||
|
||||
import org.libreccm.l10n.LocalizedString;
|
||||
import org.librecms.assets.Person;
|
||||
import org.librecms.contentsection.ContentItem;
|
||||
import org.librecms.contenttypes.AuthoringKit;
|
||||
import org.librecms.contenttypes.AuthoringStep;
|
||||
import org.librecms.contenttypes.ContentTypeDescription;
|
||||
|
||||
import java.util.Objects;
|
||||
|
|
@ -53,43 +46,6 @@ import static org.librecms.profilesite.ProfileSiteConstants.*;
|
|||
labelBundle = "org.librecms.profilesite.ProfileSiteItem",
|
||||
descriptionBundle = "org.librecms.profilesite.ProfileSiteItem"
|
||||
)
|
||||
@AuthoringKit(
|
||||
createComponent = ProfileSiteItemCreate.class,
|
||||
steps = {
|
||||
@AuthoringStep(
|
||||
component = ProfileSiteItemPropertiesStep.class,
|
||||
labelBundle = ProfileSiteConstants.BUNDLE,
|
||||
labelKey = "profile_site_item.basic_properties.label",
|
||||
descriptionBundle = ProfileSiteConstants.BUNDLE,
|
||||
descriptionKey = "profile_site_item.basic_properties.description",
|
||||
order = 1
|
||||
),
|
||||
@AuthoringStep(
|
||||
component = ProfileSiteItemPositionStep.class,
|
||||
labelBundle = ProfileSiteConstants.BUNDLE,
|
||||
labelKey = "profile_site_item.position.label",
|
||||
descriptionBundle = ProfileSiteConstants.BUNDLE,
|
||||
descriptionKey = "profile_site_item.position.description",
|
||||
order = 2
|
||||
),
|
||||
@AuthoringStep(
|
||||
component = ProfileSiteItemInterestsStep.class,
|
||||
labelBundle = ProfileSiteConstants.BUNDLE,
|
||||
labelKey = "profile_site_item.interests.label",
|
||||
descriptionBundle = ProfileSiteConstants.BUNDLE,
|
||||
descriptionKey = "profile_site_item.interests.description",
|
||||
order = 3
|
||||
),
|
||||
@AuthoringStep(
|
||||
component = ProfileSiteItemMiscStep.class,
|
||||
labelBundle = ProfileSiteConstants.BUNDLE,
|
||||
labelKey = "profile_site_item.misc.label",
|
||||
descriptionBundle = ProfileSiteConstants.BUNDLE,
|
||||
descriptionKey = "profile_site_item.misc.description",
|
||||
order = 4
|
||||
)
|
||||
}
|
||||
)
|
||||
public class ProfileSiteItem extends ContentItem {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
|
|
|||
Loading…
Reference in New Issue