Integration des neuen Create Features des ItemSearch Widgets

git-svn-id: https://svn.libreccm.org/ccm/trunk@1777 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2012-07-19 07:36:48 +00:00
parent 4563939f50
commit 6f3e2fc118
29 changed files with 421 additions and 51 deletions

View File

@ -77,6 +77,7 @@ public class GenericContactAttachAddressPropertyForm extends BasicPageForm
this.m_itemSearch = new ItemSearchWidget(ITEM_SEARCH, ContentType.
findByAssociatedObjectType(
"com.arsdigita.cms.contenttypes.GenericAddress"));
m_itemSearch.setDisableCreatePane(true);
add(this.m_itemSearch);
}

View File

@ -17,20 +17,19 @@ import com.arsdigita.bebop.form.Submit;
import com.arsdigita.bebop.parameters.NotNullValidationListener;
import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.ui.authoring.BasicPageForm;
import com.arsdigita.cms.contenttypes.GenericPerson;
import com.arsdigita.cms.contenttypes.GenericContact;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.RelationAttribute;
import com.arsdigita.cms.contenttypes.GenericContact;
import com.arsdigita.cms.contenttypes.GenericContactTypeCollection;
import com.arsdigita.cms.contenttypes.GenericPerson;
import com.arsdigita.cms.contenttypes.GenericPersonContactCollection;
import com.arsdigita.cms.contenttypes.util.ContenttypesGlobalizationUtil;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicPageForm;
import com.arsdigita.globalization.GlobalizationHelper;
import com.arsdigita.kernel.Kernel;
import com.arsdigita.util.UncheckedWrapperException;
import org.apache.log4j.Logger;
/**
@ -88,6 +87,7 @@ public class GenericContactAttachPersonPropertyForm extends BasicPageForm
this.m_itemSearch = new ItemSearchWidget(ITEM_SEARCH, ContentType.
findByAssociatedObjectType(
"com.arsdigita.cms.contenttypes.GenericPerson"));
m_itemSearch.setDisableCreatePane(true);
add(this.m_itemSearch);
// GenericContact type field

View File

@ -78,6 +78,7 @@ public class GenericOrganizationalUnitContactAddForm
"cms.contenttypes.ui.genericorgaunit.select_contact").localize()));
m_itemSearch = new ItemSearchWidget(ITEM_SEARCH, ContentType.
findByAssociatedObjectType(GenericContact.class.getName()));
m_itemSearch.setDisableCreatePane(true);
add(m_itemSearch);
selectedContactLabel = new Label("");

View File

@ -44,13 +44,13 @@ import com.arsdigita.cms.contenttypes.util.ContenttypesGlobalizationUtil;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.globalization.GlobalizationHelper;
import com.arsdigita.kernel.Kernel;
import org.apache.log4j.Logger;
/**
* Form for adding related persons the an organization.
*
* @author Jens Pelzetter
* @version $Id$
*/
public class GenericOrganizationalUnitPersonAddForm
extends BasicItemForm
@ -81,6 +81,7 @@ public class GenericOrganizationalUnitPersonAddForm
findByAssociatedObjectType(getPersonType()));
/*m_itemSearch.getItemField().addValidationListener(
new NotNullValidationListener());*/
m_itemSearch.setDisableCreatePane(true);
add(this.m_itemSearch);
selectedPersonNameLabel = new Label("");

View File

@ -42,6 +42,7 @@ public class GenericOrganizationalUnitSubordinateOrgaUnitAddForm
ITEM_SEARCH,
ContentType.findByAssociatedObjectType(
customizer.getSubordinateOrgaUnitType()));
itemSearch.setDisableCreatePane(true);
add(itemSearch);
}

View File

@ -39,6 +39,7 @@ public class GenericOrganizationalUnitSuperiorOrgaUnitAddForm
ITEM_SEARCH,
ContentType.findByAssociatedObjectType(
customizer.getSuperiorOrgaUnitType()));
itemSearch.setDisableCreatePane(true);
add(itemSearch);
}

View File

@ -55,7 +55,7 @@ public class GenericPersonAliasSetForm
"cms.contenttypes.ui.person.alias.select").localize()));
itemSearch = new ItemSearchWidget(ITEM_SEARCH, ContentType.
findByAssociatedObjectType(
"com.arsdigita.cms.contenttypes.GenericPerson"));
"com.arsdigita.cms.contenttypes.GenericPerson"));
add(itemSearch);
}
@ -87,6 +87,7 @@ public class GenericPersonAliasSetForm
getLanguage());
person.setAlias(alias);
itemSearch.publishCreatedItem(data, alias);
}
init(fse);

View File

@ -25,6 +25,7 @@ import com.arsdigita.bebop.TabbedPane;
import com.arsdigita.bebop.event.RequestEvent;
import com.arsdigita.bebop.event.RequestListener;
import com.arsdigita.bebop.parameters.BigDecimalParameter;
import com.arsdigita.bebop.parameters.BooleanParameter;
import com.arsdigita.bebop.parameters.IntegerParameter;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.CMSConfig;
@ -85,6 +86,7 @@ public class ItemSearchPage extends CMSPage {
addGlobalStateParam(new StringParameter("publishWidget"));
addGlobalStateParam(new StringParameter("defaultCreationFolder"));
addGlobalStateParam(new IntegerParameter("lastTab"));
addGlobalStateParam(new BooleanParameter("disableCreatePane"));
m_sectionId = new BigDecimalParameter(CONTENT_SECTION);
addGlobalStateParam(m_sectionId);
@ -103,10 +105,11 @@ public class ItemSearchPage extends CMSPage {
final PageState state = event.getPageState();
final String query = (String) state.getValue(new StringParameter(ItemSearchPopup.QUERY));
final Boolean disableCreatePane = (Boolean) state.getValue(new BooleanParameter("disableCreatePane"));
BigDecimal typeParam =
(BigDecimal) state.getValue(new BigDecimalParameter(ItemSearch.SINGLE_TYPE_PARAM));
if (typeParam == null) {
if ((typeParam == null) || disableCreatePane) {
m_tabbedPane.setTabVisible(state, m_create, false);
m_create.setVisible(state, false);
} else {

View File

@ -80,6 +80,7 @@ public class ItemSearchWidget extends FormSection
private Folder m_defaultCreationFolder;
private ParameterModel m_model;
private ParameterModel m_searchModel;
private boolean disableCreatePane = false;
private String searchLabelText = (String) GlobalizationUtil.globalize("cms.ui.item_search.search").localize();
private String selectedLabelText = (String) GlobalizationUtil.globalize("cms.ui.item_search.selected").localize();
public static final String BEBOP_ITEM_SEARCH = "bebop:itemSearch";
@ -275,6 +276,7 @@ public class ItemSearchWidget extends FormSection
params.setParameter("single_type", typeURLFrag);
}
params.setParameter("publishWidget", formName + ".elements['" + m_publish.getName() + "']");
params.setParameter("disableCreatePane", Boolean.toString(disableCreatePane));
if (m_defaultCreationFolder != null) {
params.setParameter("defaultCreationFolder", m_defaultCreationFolder.getOID().toString());
@ -523,4 +525,12 @@ public class ItemSearchWidget extends FormSection
}
}
}
public boolean getDisableCreatePane() {
return disableCreatePane;
}
public void setDisableCreatePane(final boolean disableCreatePane) {
this.disableCreatePane = disableCreatePane;
}
}

View File

@ -17,6 +17,15 @@ public class PublicationsConfig extends AbstractConfig {
private final Parameter attachOrgaUnitsStep;
private final Parameter attachPublicationsStepTo;
private final Parameter defaultAuthorsFolder;
private final Parameter defaultSeriesFolder;
private final Parameter defaultPublisherFolder;
private final Parameter defaultCollectedVolumesFolder;
private final Parameter defaultJournalsFolder;
private final Parameter defaultArticlesInCollectedVolumeFolder;
private final Parameter defaultOrganizationsFolder;
private final Parameter defaultProceedingsFolder;
private final Parameter defaultInProceedingsFolder;
private final Parameter defaultArticlesInJournalFolder;
public PublicationsConfig() {
attachOrgaUnitsStep =
@ -36,10 +45,63 @@ public class PublicationsConfig extends AbstractConfig {
Parameter.REQUIRED,
null);
defaultSeriesFolder = new IntegerParameter(
"com.arsdigita.cms.contenttypes.publications.default_series_folder",
Parameter.REQUIRED,
null);
defaultPublisherFolder = new IntegerParameter(
"com.arsdigita.cms.contenttypes.publications.default_publisher_folder",
Parameter.REQUIRED,
null);
defaultCollectedVolumesFolder = new IntegerParameter(
"com.arsdigita.cms.contenttypes.publications.default_collectedvolumes_folder",
Parameter.REQUIRED,
null);
defaultJournalsFolder = new IntegerParameter(
"com.arsdigita.cms.contenttypes.publications.default_journals_folder",
Parameter.REQUIRED,
null);
defaultArticlesInCollectedVolumeFolder = new IntegerParameter(
"com.arsdigita.cms.contenttypes.publications.default_articlesincollectedvolume_folder",
Parameter.REQUIRED,
null);
defaultOrganizationsFolder = new IntegerParameter(
"com.arsdigita.cms.contenttypes.publications.default_organizations_folder",
Parameter.REQUIRED,
null);
defaultProceedingsFolder = new IntegerParameter(
"com.arsdigita.cms.contenttypes.publications.default_proceedings_folder",
Parameter.REQUIRED,
null);
defaultInProceedingsFolder = new IntegerParameter(
"com.arsdigita.cms.contenttypes.publications.default_inproccedings_folder",
Parameter.REQUIRED,
null);
defaultArticlesInJournalFolder = new IntegerParameter(
"com.arsdigita.cms.contenttypes.publications.default_articlesinjournal_folder",
Parameter.REQUIRED,
null);
register(attachOrgaUnitsStep);
register(attachPublicationsStepTo);
register(defaultAuthorsFolder);
register(defaultSeriesFolder);
register(defaultPublisherFolder);
register(defaultCollectedVolumesFolder);
register(defaultJournalsFolder);
register(defaultArticlesInCollectedVolumeFolder);
register(defaultOrganizationsFolder);
register(defaultProceedingsFolder);
register(defaultInProceedingsFolder);
register(defaultArticlesInJournalFolder);
loadInfo();
}
@ -60,4 +122,75 @@ public class PublicationsConfig extends AbstractConfig {
}
}
public Integer getDefaultSeriesFolder() {
if (get(defaultSeriesFolder) == null) {
return null;
} else {
return (Integer) get(defaultSeriesFolder);
}
}
public Integer getDefaultPublisherFolder() {
if (get(defaultPublisherFolder) == null) {
return null;
} else {
return (Integer) get(defaultPublisherFolder);
}
}
public Integer getDefaultCollectedVolumesFolder() {
if (get(defaultCollectedVolumesFolder) == null) {
return null;
} else {
return (Integer) get(defaultCollectedVolumesFolder);
}
}
public Integer getDefaultJournalsFolder() {
if (get(defaultJournalsFolder) == null) {
return null;
} else {
return (Integer) get(defaultJournalsFolder);
}
}
public Integer getDefaultArticlesInCollectedVolumeFolder() {
if (get(defaultArticlesInCollectedVolumeFolder) == null) {
return null;
} else {
return (Integer) get(defaultArticlesInCollectedVolumeFolder);
}
}
public Integer getDefaultOrganizationsFolder() {
if (get(defaultOrganizationsFolder) == null) {
return null;
} else {
return (Integer) get(defaultOrganizationsFolder);
}
}
public Integer getDefaultProceedingsFolder() {
if (get(defaultProceedingsFolder) == null) {
return null;
} else {
return (Integer) get(defaultProceedingsFolder);
}
}
public Integer getDefaultInProceedingsFolder() {
if (get(defaultInProceedingsFolder) == null) {
return null;
} else {
return (Integer) get(defaultInProceedingsFolder);
}
}
public Integer getDefaultArticlesInJournalFolder() {
if (get(defaultArticlesInJournalFolder) == null) {
return null;
} else {
return (Integer) get(defaultArticlesInJournalFolder);
}
}
}

View File

@ -11,4 +11,49 @@ com.arsdigita.cms.contenttypes.publications.attach_publications_step_to.format =
com.arsdigita.cms.contenttypes.publications.default_authors_folder.title = ID of the default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_authors_folder.purpose = Default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_authors_folder.example = 10002
com.arsdigita.cms.contenttypes.publications.default_authors_folder.format = Integer
com.arsdigita.cms.contenttypes.publications.default_authors_folder.format = Integer
com.arsdigita.cms.contenttypes.publications.default_series_folder.title = ID of the default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_series_folder.purpose = Default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_series_folder.example = 10002
com.arsdigita.cms.contenttypes.publications.default_series_folder.format = Integer
com.arsdigita.cms.contenttypes.publications.default_publisher_folder.title = ID of the default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_publisher_folder.purpose = Default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_publisher_folder.example = 10002
com.arsdigita.cms.contenttypes.publications.default_publisher_folder.format = Integer
com.arsdigita.cms.contenttypes.publications.default_collectedvolumes_folder.title = ID of the default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_collectedvolumes_folder.purpose = Default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_collectedvolumes_folder.example = 10002
com.arsdigita.cms.contenttypes.publications.default_collectedvolumes_folder.format = Integer
com.arsdigita.cms.contenttypes.publications.default_journals_folder.title = ID of the default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_journals_folder.purpose = Default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_journals_folder.example = 10002
com.arsdigita.cms.contenttypes.publications.default_journals_folder.format = Integer
com.arsdigita.cms.contenttypes.publications.default_articlesincollectedvolumes_folder.title = ID of the default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_articlesincollectedvolumes_folder.purpose = Default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_articlesincollectedvolumes_folder.example = 10002
com.arsdigita.cms.contenttypes.publications.default_articlesincollectedvolumes_folder.format = Integer
com.arsdigita.cms.contenttypes.publications.default_organizations_folder.title = ID of the default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_organizations_folder.purpose = Default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_organizations_folder.example = 10002
com.arsdigita.cms.contenttypes.publications.default_organizations_folder.format = Integer
com.arsdigita.cms.contenttypes.publications.default_proceedings_folder.title = ID of the default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_proceedings_folder.purpose = Default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_proceedings_folder.example = 10002
com.arsdigita.cms.contenttypes.publications.default_proceedings_folder.format = Integer
com.arsdigita.cms.contenttypes.publications.default_inproceedings_folder.title = ID of the default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_inproceedings_folder.purpose = Default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_inproceedings_folder.example = 10002
com.arsdigita.cms.contenttypes.publications.default_inproceedings_folder.format = Integer
com.arsdigita.cms.contenttypes.publications.default_articlesinjournal_folder.title = ID of the default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_articlesinjournal_folder.purpose = Default folder for items created using the create pane of the ItemSearchWidget
com.arsdigita.cms.contenttypes.publications.default_articlesinjournal_folder.example = 10002
com.arsdigita.cms.contenttypes.publications.default_articlesinjournal_folder.format = Integer

View File

@ -27,18 +27,22 @@ import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.Folder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.ArticleInCollectedVolume;
import com.arsdigita.cms.contenttypes.CollectedVolume;
import com.arsdigita.cms.contenttypes.PublicationsConfig;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.kernel.Kernel;
import java.math.BigDecimal;
/**
* Form for adding an association between an ArticleInCollectedVolume and a
* CollectedVolume.
*
* @author Jens Pelzetter
* @version $Id$
*/
public class ArticleInCollectedVolumeCollectedVolumeForm
extends BasicItemForm
@ -47,6 +51,11 @@ public class ArticleInCollectedVolumeCollectedVolumeForm
private ItemSearchWidget itemSearch;
private final String ITEM_SEARCH = "collectedVolume";
private final static PublicationsConfig config = new PublicationsConfig();
static {
config.load();
}
public ArticleInCollectedVolumeCollectedVolumeForm(
ItemSelectionModel itemModel) {
@ -61,6 +70,9 @@ public class ArticleInCollectedVolumeCollectedVolumeForm
itemSearch = new ItemSearchWidget(ITEM_SEARCH,
ContentType.findByAssociatedObjectType(
CollectedVolume.class.getName()));
if ((config.getDefaultCollectedVolumesFolder() != null) && (config.getDefaultCollectedVolumesFolder() != 0)) {
itemSearch.setDefaultCreationFolder(new Folder(new BigDecimal(config.getDefaultCollectedVolumesFolder())));
}
add(itemSearch);
}
@ -87,6 +99,7 @@ public class ArticleInCollectedVolumeCollectedVolumeForm
article.getLanguage());
article.setCollectedVolume(collectedVolume);
itemSearch.publishCreatedItem(data, article);
}
init(fse);
@ -113,12 +126,12 @@ public class ArticleInCollectedVolumeCollectedVolumeForm
if (!(collectedVolume.getContentBundle().hasInstance(
article.getLanguage(),
Kernel.getConfig().
Kernel.getConfig().
languageIndependentItems()))) {
data.addError(
PublicationGlobalizationUtil.globalize(
"publications.ui.articleInCollectedVolume.selectCollectedVolume.no_suitable_language_variant"));
return;
}
}
}

View File

@ -27,17 +27,21 @@ import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.Folder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.ArticleInJournal;
import com.arsdigita.cms.contenttypes.Journal;
import com.arsdigita.cms.contenttypes.PublicationsConfig;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.kernel.Kernel;
import java.math.BigDecimal;
/**
* Form for adding an associatio between an article in a journal and a journal.
* Form for adding an association between an article in a journal and a journal.
*
* @author Jens Pelzetter
* @version $Id$
*/
public class ArticleInJournalJournalForm
extends BasicItemForm
@ -46,6 +50,11 @@ public class ArticleInJournalJournalForm
private ItemSearchWidget itemSearch;
private final String ITEM_SEARCH = "journal";
private final static PublicationsConfig config = new PublicationsConfig();
static {
config.load();
}
public ArticleInJournalJournalForm(ItemSelectionModel itemModel) {
super("ArticleInJournalJournal", itemModel);
@ -58,6 +67,9 @@ public class ArticleInJournalJournalForm
itemSearch = new ItemSearchWidget(ITEM_SEARCH,
ContentType.findByAssociatedObjectType(
Journal.class.getName()));
if ((config.getDefaultJournalsFolder() != null) && (config.getDefaultJournalsFolder() != 0)) {
itemSearch.setDefaultCreationFolder(new Folder(new BigDecimal(config.getDefaultJournalsFolder())));
}
add(itemSearch);
}
@ -77,10 +89,10 @@ public class ArticleInJournalJournalForm
if (this.getSaveCancelSection().getSaveButton().isSelected(state)) {
Journal journal = (Journal) data.get(ITEM_SEARCH);
journal = (Journal) journal.getContentBundle().getInstance(article.
getLanguage());
journal = (Journal) journal.getContentBundle().getInstance(article.getLanguage());
article.setJournal(journal);
itemSearch.publishCreatedItem(data, article);
}
init(fse);
@ -112,4 +124,5 @@ public class ArticleInJournalJournalForm
return;
}
}
}

View File

@ -27,18 +27,22 @@ import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.Folder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.ArticleInCollectedVolume;
import com.arsdigita.cms.contenttypes.ArticleInCollectedVolumeCollection;
import com.arsdigita.cms.contenttypes.CollectedVolume;
import com.arsdigita.cms.contenttypes.PublicationsConfig;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.kernel.Kernel;
import java.math.BigDecimal;
import org.apache.log4j.Logger;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
public class CollectedVolumeArticleAddForm
extends BasicItemForm
@ -52,6 +56,11 @@ public class CollectedVolumeArticleAddForm
private ItemSearchWidget m_itemSearch;
private final String ITEM_SEARCH = "articles";
private ItemSelectionModel m_itemModel;
private final static PublicationsConfig config = new PublicationsConfig();
static {
config.load();
}
public CollectedVolumeArticleAddForm(ItemSelectionModel itemModel) {
super("ArticlesAddForm", itemModel);
@ -67,6 +76,9 @@ public class CollectedVolumeArticleAddForm
ITEM_SEARCH,
ContentType.findByAssociatedObjectType(
ArticleInCollectedVolume.class.getName()));
if ((config.getDefaultArticlesInCollectedVolumeFolder() != null) && (config.getDefaultArticlesInCollectedVolumeFolder() != 0)) {
m_itemSearch.setDefaultCreationFolder(new Folder(new BigDecimal(config.getDefaultArticlesInCollectedVolumeFolder())));
}
add(m_itemSearch);
}
@ -94,6 +106,7 @@ public class CollectedVolumeArticleAddForm
getInstance(collectedVolume.getLanguage());
collectedVolume.addArticle(article);
m_itemSearch.publishCreatedItem(data, article);
}
init(fse);

View File

@ -8,16 +8,20 @@ import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.Folder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.Expertise;
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
import com.arsdigita.cms.contenttypes.PublicationsConfig;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.kernel.Kernel;
import java.math.BigDecimal;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
public class ExpertiseOrdererForm
extends BasicItemForm
@ -26,6 +30,11 @@ public class ExpertiseOrdererForm
private ItemSearchWidget itemSearch;
private final String ITEM_SEARCH = "expertiseOrderer";
private final static PublicationsConfig config = new PublicationsConfig();
static {
config.load();
}
public ExpertiseOrdererForm(final ItemSelectionModel itemModel) {
super("ExpertiseOrdererForm", itemModel);
@ -38,6 +47,9 @@ public class ExpertiseOrdererForm
itemSearch = new ItemSearchWidget(ITEM_SEARCH, ContentType.
findByAssociatedObjectType(GenericOrganizationalUnit.class.
getName()));
if ((config.getDefaultOrganizationsFolder() != null) && (config.getDefaultOrganizationsFolder() != 0)) {
itemSearch.setDefaultCreationFolder(new Folder(new BigDecimal(config.getDefaultOrganizationsFolder())));
}
add(itemSearch);
}
@ -63,6 +75,7 @@ public class ExpertiseOrdererForm
getInstance(expertise.getLanguage());
expertise.setOrderer(orderer);
itemSearch.publishCreatedItem(data, orderer);
}
init(fse);

View File

@ -8,16 +8,20 @@ import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.Folder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.Expertise;
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
import com.arsdigita.cms.contenttypes.PublicationsConfig;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.kernel.Kernel;
import java.math.BigDecimal;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
public class ExpertiseOrganizationForm
extends BasicItemForm
@ -26,6 +30,12 @@ public class ExpertiseOrganizationForm
private ItemSearchWidget itemSearch;
private final String ITEM_SEARCH = "expertiseOrganization";
private final static PublicationsConfig config = new PublicationsConfig();
static {
config.load();
}
public ExpertiseOrganizationForm(final ItemSelectionModel itemModel) {
super("ExpertiseOrganizationForm", itemModel);
@ -38,6 +48,9 @@ public class ExpertiseOrganizationForm
itemSearch = new ItemSearchWidget(ITEM_SEARCH, ContentType.
findByAssociatedObjectType(GenericOrganizationalUnit.class.
getName()));
if ((config.getDefaultOrganizationsFolder() != null) && (config.getDefaultOrganizationsFolder() != 0)) {
itemSearch.setDefaultCreationFolder(new Folder(new BigDecimal(config.getDefaultOrganizationsFolder())));
}
add(itemSearch);
}
@ -62,7 +75,7 @@ public class ExpertiseOrganizationForm
getInstance(expertise.getLanguage());
expertise.setOrganization(orga);
itemSearch.publishCreatedItem(data, orga);
}
init(fse);

View File

@ -41,6 +41,7 @@ public class GenericOrganizationalUnitPublicationAddForm
itemSearch = new ItemSearchWidget(ITEM_SEARCH,
ContentType.findByAssociatedObjectType(Publication.class.
getName()));
itemSearch.setDisableCreatePane(true);
add(itemSearch);
}

View File

@ -27,18 +27,22 @@ import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.Folder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.InProceedings;
import com.arsdigita.cms.contenttypes.Proceedings;
import com.arsdigita.cms.contenttypes.PublicationsConfig;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.kernel.Kernel;
import java.math.BigDecimal;
/**
* Form for adding an association between a InProceedings publication and
* a proceedings publication.
*
* @author Jens Pelzetter
* @version $Id$
*/
public class InProceedingsProceedingsForm
extends BasicItemForm
@ -47,6 +51,11 @@ public class InProceedingsProceedingsForm
private ItemSearchWidget itemSearch;
private final String ITEM_SEARCH = "proceedings";
private final static PublicationsConfig config = new PublicationsConfig();
static {
config.load();
}
public InProceedingsProceedingsForm(ItemSelectionModel itemModel) {
super("InProceedingsProceedings", itemModel);
@ -60,6 +69,9 @@ public class InProceedingsProceedingsForm
itemSearch = new ItemSearchWidget(ITEM_SEARCH,
ContentType.findByAssociatedObjectType(
Proceedings.class.getName()));
if ((config.getDefaultProceedingsFolder() != null) && (config.getDefaultProceedingsFolder() != 0)) {
itemSearch.setDefaultCreationFolder(new Folder(new BigDecimal(config.getDefaultProceedingsFolder())));
}
add(itemSearch);
}
@ -83,6 +95,7 @@ public class InProceedingsProceedingsForm
getInstance(inProceedings.getLanguage());
inProceedings.setProceedings(proceedings);
itemSearch.publishCreatedItem(data, proceedings);
}
init(fse);

View File

@ -8,16 +8,20 @@ import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.Folder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
import com.arsdigita.cms.contenttypes.InternetArticle;
import com.arsdigita.cms.contenttypes.PublicationsConfig;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.kernel.Kernel;
import java.math.BigDecimal;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
public class InternetArticleOrganizationForm
extends BasicItemForm
@ -26,6 +30,11 @@ public class InternetArticleOrganizationForm
private ItemSearchWidget itemSearch;
private final String ITEM_SEARCH = "internetArticleOrga";
private final static PublicationsConfig config = new PublicationsConfig();
static {
config.load();
}
public InternetArticleOrganizationForm(final ItemSelectionModel itemModel) {
super("InternetArticleOrganizationForm", itemModel);
@ -35,9 +44,13 @@ public class InternetArticleOrganizationForm
public void addWidgets() {
add(new Label(PublicationGlobalizationUtil.globalize(
"publications.ui.internetarticle.select_organization")));
itemSearch = new ItemSearchWidget(ITEM_SEARCH, ContentType.
findByAssociatedObjectType(GenericOrganizationalUnit.class.
getName()));
itemSearch = new ItemSearchWidget(ITEM_SEARCH,
ContentType.findByAssociatedObjectType(
GenericOrganizationalUnit.class.getName()));
if ((config.getDefaultOrganizationsFolder() != null) && (config.getDefaultOrganizationsFolder() != 0)) {
itemSearch.setDefaultCreationFolder(new Folder(new BigDecimal(config.getDefaultOrganizationsFolder())));
}
add(itemSearch);
}
@ -56,12 +69,12 @@ public class InternetArticleOrganizationForm
getSelectedObject(state);
if (this.getSaveCancelSection().getSaveButton().isSelected(state)) {
GenericOrganizationalUnit orga = (GenericOrganizationalUnit) data.
get(ITEM_SEARCH);
GenericOrganizationalUnit orga = (GenericOrganizationalUnit) data.get(ITEM_SEARCH);
orga = (GenericOrganizationalUnit) orga.getContentBundle().
getInstance(article.getLanguage());
article.setOrganization(orga);
itemSearch.publishCreatedItem(data, orga);
}
init(fse);
@ -83,12 +96,12 @@ public class InternetArticleOrganizationForm
getSelectedObject(state);
GenericOrganizationalUnit orga = (GenericOrganizationalUnit) data.get(
ITEM_SEARCH);
if (!(orga.getContentBundle().hasInstance(article.getLanguage(), Kernel.
getConfig().languageIndependentItems()))) {
if (!(orga.getContentBundle().hasInstance(article.getLanguage(), Kernel.getConfig().languageIndependentItems()))) {
data.addError(
PublicationGlobalizationUtil.globalize(
"publications.ui.internetarticle.select_organization.no_suitable_language_variant"));
return;
}
}
}

View File

@ -27,18 +27,22 @@ import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.Folder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.ArticleInJournal;
import com.arsdigita.cms.contenttypes.ArticleInJournalCollection;
import com.arsdigita.cms.contenttypes.Journal;
import com.arsdigita.cms.contenttypes.PublicationsConfig;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.kernel.Kernel;
import java.math.BigDecimal;
import org.apache.log4j.Logger;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
public class JournalArticleAddForm
extends BasicItemForm
@ -51,6 +55,11 @@ public class JournalArticleAddForm
private ItemSearchWidget m_itemSearch;
private final String ITEM_SEARCH = "articles";
private ItemSelectionModel m_itemModel;
private final static PublicationsConfig config = new PublicationsConfig();
static {
config.load();
}
public JournalArticleAddForm(ItemSelectionModel itemModel) {
super("ArticlesAddForm", itemModel);
@ -66,6 +75,9 @@ public class JournalArticleAddForm
ITEM_SEARCH,
ContentType.findByAssociatedObjectType(
ArticleInJournal.class.getName()));
if ((config.getDefaultArticlesInJournalFolder() != null) && (config.getDefaultArticlesInJournalFolder() != 0)) {
m_itemSearch.setDefaultCreationFolder(new Folder(new BigDecimal(config.getDefaultArticlesInJournalFolder())));
}
add(m_itemSearch);
}
@ -90,6 +102,7 @@ public class JournalArticleAddForm
getLanguage());
journal.addArticle(article);
m_itemSearch.publishCreatedItem(data, article);
}
init(fse);

View File

@ -8,16 +8,20 @@ import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.Folder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
import com.arsdigita.cms.contenttypes.Proceedings;
import com.arsdigita.cms.contenttypes.PublicationsConfig;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.kernel.Kernel;
import java.math.BigDecimal;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
public class ProceedingsOrganizerForm
extends BasicItemForm
@ -26,6 +30,11 @@ public class ProceedingsOrganizerForm
private ItemSearchWidget itemSearch;
private final String ITEM_SEARCH = "departmentOrga";
private final static PublicationsConfig config = new PublicationsConfig();
static {
config.load();
}
public ProceedingsOrganizerForm(final ItemSelectionModel itemModel) {
super("ProceedingsOrganizerForm", itemModel);
@ -35,9 +44,12 @@ public class ProceedingsOrganizerForm
protected void addWidgets() {
add(new Label(PublicationGlobalizationUtil.globalize(
"publications.ui.proceedings.organizer")));
itemSearch = new ItemSearchWidget(ITEM_SEARCH, ContentType.
findByAssociatedObjectType(GenericOrganizationalUnit.class.
getName()));
itemSearch = new ItemSearchWidget(ITEM_SEARCH,
ContentType.findByAssociatedObjectType(
GenericOrganizationalUnit.class.getName()));
if ((config.getDefaultOrganizationsFolder() != null) && (config.getDefaultOrganizationsFolder() != 0)) {
itemSearch.setDefaultCreationFolder(new Folder(new BigDecimal(config.getDefaultOrganizationsFolder())));
}
add(itemSearch);
}
@ -63,6 +75,7 @@ public class ProceedingsOrganizerForm
getInstance(proceedings.getLanguage());
proceedings.setOrganizerOfConference(organizer);
itemSearch.publishCreatedItem(data, organizer);
}
@ -82,8 +95,7 @@ public class ProceedingsOrganizerForm
Proceedings proceedings = (Proceedings) getItemSelectionModel().
getSelectedObject(state);
GenericOrganizationalUnit organizer = (GenericOrganizationalUnit) data.
get(ITEM_SEARCH);
GenericOrganizationalUnit organizer = (GenericOrganizationalUnit) data.get(ITEM_SEARCH);
if (!(organizer.getContentBundle().hasInstance(proceedings.getLanguage(),
Kernel.getConfig().
languageIndependentItems()))) {
@ -93,4 +105,5 @@ public class ProceedingsOrganizerForm
return;
}
}
}

View File

@ -27,17 +27,21 @@ import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.Folder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.InProceedings;
import com.arsdigita.cms.contenttypes.InProceedingsCollection;
import com.arsdigita.cms.contenttypes.Proceedings;
import com.arsdigita.cms.contenttypes.PublicationsConfig;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.kernel.Kernel;
import java.math.BigDecimal;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
public class ProceedingsPapersAddForm
extends BasicItemForm
@ -47,6 +51,11 @@ public class ProceedingsPapersAddForm
private ItemSearchWidget m_itemSearch;
private final String ITEM_SEARCH = "papers";
private ItemSelectionModel m_itemModel;
private final static PublicationsConfig config = new PublicationsConfig();
static {
config.load();
}
public ProceedingsPapersAddForm(ItemSelectionModel itemModel) {
super("PapersAddForm", itemModel);
@ -61,6 +70,9 @@ public class ProceedingsPapersAddForm
ITEM_SEARCH,
ContentType.findByAssociatedObjectType(
InProceedings.class.getName()));
if ((config.getDefaultInProceedingsFolder() != null) && (config.getDefaultInProceedingsFolder() != 0)) {
m_itemSearch.setDefaultCreationFolder(new Folder(new BigDecimal(config.getDefaultInProceedingsFolder())));
}
add(m_itemSearch);
}
@ -86,6 +98,7 @@ public class ProceedingsPapersAddForm
getLanguage());
proceedings.addPaper(paper);
m_itemSearch.publishCreatedItem(data, paper);
}
init(fse);

View File

@ -30,24 +30,16 @@ import com.arsdigita.bebop.event.FormSubmissionListener;
import com.arsdigita.bebop.form.CheckboxGroup;
import com.arsdigita.bebop.form.Option;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.ContentTypeLifecycleDefinition;
import com.arsdigita.cms.Folder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.AuthorshipCollection;
import com.arsdigita.cms.contenttypes.GenericPerson;
import com.arsdigita.cms.contenttypes.Publication;
import com.arsdigita.cms.contenttypes.PublicationsConfig;
import com.arsdigita.cms.lifecycle.Lifecycle;
import com.arsdigita.cms.lifecycle.LifecycleDefinition;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.kernel.Kernel;
import com.arsdigita.workflow.simple.TaskException;
import com.arsdigita.workflow.simple.Workflow;
import java.math.BigDecimal;
import java.util.Date;
import java.util.logging.Level;
import org.apache.log4j.Logger;
/**
@ -91,10 +83,10 @@ public class PublicationAuthorAddForm
m_itemSearch = new ItemSearchWidget(
ITEM_SEARCH,
ContentType.findByAssociatedObjectType(GenericPerson.class.getName()));
add(m_itemSearch);
if ((config.getDefaultAuthorsFolder() != null) && (config.getDefaultAuthorsFolder() != 0)) {
m_itemSearch.setDefaultCreationFolder(new Folder(new BigDecimal(config.getDefaultAuthorsFolder())));
}
add(m_itemSearch);
selectedAuthorLabel = new Label("");
add(selectedAuthorLabel);

View File

@ -41,6 +41,7 @@ public class PublicationGenericOrganizationalUnitAddForm
itemSearch = new ItemSearchWidget(ITEM_SEARCH, ContentType.
findByAssociatedObjectType(GenericOrganizationalUnit.class.
getName()));
itemSearch.setDisableCreatePane(true);
add(itemSearch);
}

View File

@ -19,8 +19,6 @@
*/
package com.arsdigita.cms.contenttypes.ui;
import org.apache.log4j.Logger;
import com.arsdigita.bebop.FormData;
import com.arsdigita.bebop.FormProcessException;
import com.arsdigita.bebop.Label;
@ -29,17 +27,22 @@ import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.Folder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.Publication;
import com.arsdigita.cms.contenttypes.PublicationsConfig;
import com.arsdigita.cms.contenttypes.Series;
import com.arsdigita.cms.contenttypes.SeriesCollection;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.kernel.Kernel;
import java.math.BigDecimal;
import org.apache.log4j.Logger;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
public class PublicationSeriesAddForm
extends BasicItemForm
@ -52,6 +55,12 @@ public class PublicationSeriesAddForm
private ItemSearchWidget m_itemSearch;
private final String ITEM_SEARCH = "series";
private ItemSelectionModel m_itemModel;
private final static PublicationsConfig config = new PublicationsConfig();
static {
config.load();
}
public PublicationSeriesAddForm(ItemSelectionModel itemModel) {
super("SeriesEntryForm", itemModel);
@ -65,6 +74,9 @@ public class PublicationSeriesAddForm
m_itemSearch = new ItemSearchWidget(
ITEM_SEARCH,
ContentType.findByAssociatedObjectType(Series.class.getName()));
if ((config.getDefaultSeriesFolder() != null) && (config.getDefaultSeriesFolder() != 0)) {
m_itemSearch.setDefaultCreationFolder(new Folder(new BigDecimal(config.getDefaultSeriesFolder())));
}
add(m_itemSearch);
}
@ -90,6 +102,7 @@ public class PublicationSeriesAddForm
getLanguage());
publication.addSeries(series);
m_itemSearch.publishCreatedItem(data, series);
}
init(fse);

View File

@ -8,16 +8,20 @@ import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.Folder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.PublicationWithPublisher;
import com.arsdigita.cms.contenttypes.PublicationsConfig;
import com.arsdigita.cms.contenttypes.Publisher;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.kernel.Kernel;
import java.math.BigDecimal;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
public class PublicationWithPublisherSetPublisherForm
extends BasicItemForm
@ -26,6 +30,12 @@ public class PublicationWithPublisherSetPublisherForm
private ItemSearchWidget itemSearch;
private final String ITEM_SEARCH = "setPublisher";
private final static PublicationsConfig config = new PublicationsConfig();
static {
config.load();
}
public PublicationWithPublisherSetPublisherForm(
final ItemSelectionModel itemModel) {
@ -37,10 +47,10 @@ public class PublicationWithPublisherSetPublisherForm
add(new Label((String) PublicationGlobalizationUtil.globalize(
"publications.ui.with_publisher.publisher").localize()));
itemSearch =
new ItemSearchWidget(
ITEM_SEARCH,
ContentType.findByAssociatedObjectType(
Publisher.class.getName()));
new ItemSearchWidget(ITEM_SEARCH, ContentType.findByAssociatedObjectType(Publisher.class.getName()));
if ((config.getDefaultPublisherFolder() != null) && config.getDefaultPublisherFolder() != 0) {
itemSearch.setDefaultCreationFolder(new Folder(new BigDecimal(config.getDefaultPublisherFolder())));
}
add(itemSearch);
}
@ -61,10 +71,10 @@ public class PublicationWithPublisherSetPublisherForm
if (this.getSaveCancelSection().getSaveButton().isSelected(state)) {
Publisher publisher = (Publisher) data.get(ITEM_SEARCH);
publisher = (Publisher) publisher.getContentBundle().getInstance(publication.
getLanguage());
publisher = (Publisher) publisher.getContentBundle().getInstance(publication.getLanguage());
publication.setPublisher(publisher);
itemSearch.publishCreatedItem(data, publisher);
}
init(fse);
@ -91,8 +101,8 @@ public class PublicationWithPublisherSetPublisherForm
languageIndependentItems()))) {
data.addError(
PublicationGlobalizationUtil.globalize(
"publications.ui.with_publisher.publisher.no_suitable_language_variant"));
return;
"publications.ui.with_publisher.publisher.no_suitable_language_variant"));
}
}
}

View File

@ -28,16 +28,18 @@ import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.bebop.event.FormSubmissionListener;
import com.arsdigita.bebop.form.Hidden;
import com.arsdigita.bebop.parameters.BooleanParameter;
import com.arsdigita.bebop.parameters.DateParameter;
import com.arsdigita.bebop.parameters.IncompleteDateParameter;
import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.Folder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.EditshipCollection;
import com.arsdigita.cms.contenttypes.GenericPerson;
import com.arsdigita.cms.contenttypes.PublicationsConfig;
import com.arsdigita.cms.contenttypes.Series;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
@ -46,6 +48,7 @@ import org.apache.log4j.Logger;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
public class SeriesEditshipAddForm
extends BasicItemForm
@ -60,6 +63,11 @@ public class SeriesEditshipAddForm
private ItemSelectionModel m_itemModel;
private SeriesEditshipStep editStep;
private Label selectedEditorLabel;
private final static PublicationsConfig config = new PublicationsConfig();
static {
config.load();
}
public SeriesEditshipAddForm(ItemSelectionModel itemModel,
SeriesEditshipStep editStep) {
@ -77,6 +85,9 @@ public class SeriesEditshipAddForm
ITEM_SEARCH,
ContentType.findByAssociatedObjectType(GenericPerson.class.
getName()));
if ((config.getDefaultAuthorsFolder() != null) && (config.getDefaultAuthorsFolder() != 0)) {
m_itemSearch.setDefaultCreationFolder(new Folder(new BigDecimal(config.getDefaultAuthorsFolder())));
}
add(m_itemSearch);
selectedEditorLabel = new Label("");
@ -184,6 +195,7 @@ public class SeriesEditshipAddForm
EditshipCollection.TO_SKIP_MONTH),
(Boolean) data.get(
EditshipCollection.TO_SKIP_DAY));
m_itemSearch.publishCreatedItem(data, editor);
} else {
EditshipCollection editors;

View File

@ -36,12 +36,12 @@ import com.arsdigita.cms.contenttypes.VolumeInSeriesCollection;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.kernel.Kernel;
import org.apache.log4j.Logger;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
public class SeriesVolumeAddForm extends BasicItemForm {
@ -72,6 +72,7 @@ public class SeriesVolumeAddForm extends BasicItemForm {
ITEM_SEARCH,
ContentType.findByAssociatedObjectType(
Publication.class.getName()));
m_itemSearch.setDisableCreatePane(true);
add(m_itemSearch);
selectedVolumeLabel = new Label("");

View File

@ -8,16 +8,20 @@ import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.Folder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
import com.arsdigita.cms.contenttypes.PublicationsConfig;
import com.arsdigita.cms.contenttypes.UnPublished;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.kernel.Kernel;
import java.math.BigDecimal;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
public class UnPublishedOrganizationForm
extends BasicItemForm
@ -26,6 +30,11 @@ public class UnPublishedOrganizationForm
private ItemSearchWidget itemSearch;
private final String ITEM_SEARCH = "unPublishedOrga";
private final static PublicationsConfig config = new PublicationsConfig();
static {
config.load();
}
public UnPublishedOrganizationForm(final ItemSelectionModel itemModel) {
super("UnPublishedOrganizationForm", itemModel);
@ -38,6 +47,9 @@ public class UnPublishedOrganizationForm
itemSearch = new ItemSearchWidget(ITEM_SEARCH,
ContentType.findByAssociatedObjectType(
GenericOrganizationalUnit.class.getName()));
if ((config.getDefaultOrganizationsFolder() != null) && (config.getDefaultOrganizationsFolder() != 0)) {
itemSearch.setDefaultCreationFolder(new Folder(new BigDecimal(config.getDefaultOrganizationsFolder())));
}
add(itemSearch);
}
@ -56,12 +68,12 @@ public class UnPublishedOrganizationForm
getSelectedObject(state);
if (this.getSaveCancelSection().getSaveButton().isSelected(state)) {
GenericOrganizationalUnit orga = (GenericOrganizationalUnit) data.
get(ITEM_SEARCH);
GenericOrganizationalUnit orga = (GenericOrganizationalUnit) data.get(ITEM_SEARCH);
orga = (GenericOrganizationalUnit) orga.getContentBundle().
getInstance(unPublished.getLanguage());
unPublished.setOrganization(orga);
itemSearch.publishCreatedItem(data, orga);
}
@ -92,4 +104,5 @@ public class UnPublishedOrganizationForm
return;
}
}
}