diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java index a74d0e209..f3ff738d6 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java @@ -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); } diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachPersonPropertyForm.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachPersonPropertyForm.java index c2548ed1b..8db3ad2c5 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachPersonPropertyForm.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachPersonPropertyForm.java @@ -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 diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitContactAddForm.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitContactAddForm.java index 7c64e7b24..2b82e1782 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitContactAddForm.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitContactAddForm.java @@ -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(""); diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPersonAddForm.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPersonAddForm.java index ec72e24c2..afe1f14ac 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPersonAddForm.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPersonAddForm.java @@ -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(""); diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitSubordinateOrgaUnitAddForm.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitSubordinateOrgaUnitAddForm.java index d7d928d24..e7340cbf4 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitSubordinateOrgaUnitAddForm.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitSubordinateOrgaUnitAddForm.java @@ -42,6 +42,7 @@ public class GenericOrganizationalUnitSubordinateOrgaUnitAddForm ITEM_SEARCH, ContentType.findByAssociatedObjectType( customizer.getSubordinateOrgaUnitType())); + itemSearch.setDisableCreatePane(true); add(itemSearch); } diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitSuperiorOrgaUnitAddForm.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitSuperiorOrgaUnitAddForm.java index 0034aad2c..3ccd3d627 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitSuperiorOrgaUnitAddForm.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitSuperiorOrgaUnitAddForm.java @@ -39,6 +39,7 @@ public class GenericOrganizationalUnitSuperiorOrgaUnitAddForm ITEM_SEARCH, ContentType.findByAssociatedObjectType( customizer.getSuperiorOrgaUnitType())); + itemSearch.setDisableCreatePane(true); add(itemSearch); } diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonAliasSetForm.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonAliasSetForm.java index 294cea8d9..2cf37d19f 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonAliasSetForm.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonAliasSetForm.java @@ -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); diff --git a/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPage.java b/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPage.java index 74587cab0..5c896f404 100755 --- a/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPage.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPage.java @@ -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 { diff --git a/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchWidget.java b/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchWidget.java index f4417898b..b94e503d7 100755 --- a/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchWidget.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchWidget.java @@ -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; + } } \ No newline at end of file diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationsConfig.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationsConfig.java index fb84ede90..60da83a9a 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationsConfig.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationsConfig.java @@ -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); + } + } } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationsConfig_parameter.properties b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationsConfig_parameter.properties index 0a1090595..0ac794325 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationsConfig_parameter.properties +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationsConfig_parameter.properties @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ArticleInCollectedVolumeCollectedVolumeForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ArticleInCollectedVolumeCollectedVolumeForm.java index a3d73c597..3ff762cb8 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ArticleInCollectedVolumeCollectedVolumeForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ArticleInCollectedVolumeCollectedVolumeForm.java @@ -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; } } + } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ArticleInJournalJournalForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ArticleInJournalJournalForm.java index 120a23293..3ab0ec852 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ArticleInJournalJournalForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ArticleInJournalJournalForm.java @@ -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; } } + } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/CollectedVolumeArticleAddForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/CollectedVolumeArticleAddForm.java index a663cbb3d..c5adb0055 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/CollectedVolumeArticleAddForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/CollectedVolumeArticleAddForm.java @@ -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); diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ExpertiseOrdererForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ExpertiseOrdererForm.java index a19434fc7..e17e26fe9 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ExpertiseOrdererForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ExpertiseOrdererForm.java @@ -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); diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ExpertiseOrganizationForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ExpertiseOrganizationForm.java index ff890b2a1..efb392fae 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ExpertiseOrganizationForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ExpertiseOrganizationForm.java @@ -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); diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPublicationAddForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPublicationAddForm.java index 4de65bb6e..53dab3a6c 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPublicationAddForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPublicationAddForm.java @@ -41,6 +41,7 @@ public class GenericOrganizationalUnitPublicationAddForm itemSearch = new ItemSearchWidget(ITEM_SEARCH, ContentType.findByAssociatedObjectType(Publication.class. getName())); + itemSearch.setDisableCreatePane(true); add(itemSearch); } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/InProceedingsProceedingsForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/InProceedingsProceedingsForm.java index 9193bc65d..a6b2308df 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/InProceedingsProceedingsForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/InProceedingsProceedingsForm.java @@ -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); diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/InternetArticleOrganizationForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/InternetArticleOrganizationForm.java index 1ed04e398..c33ea0454 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/InternetArticleOrganizationForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/InternetArticleOrganizationForm.java @@ -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; } } + } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/JournalArticleAddForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/JournalArticleAddForm.java index fe1c49163..001f4b178 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/JournalArticleAddForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/JournalArticleAddForm.java @@ -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); diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ProceedingsOrganizerForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ProceedingsOrganizerForm.java index 30f1031a9..0190af593 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ProceedingsOrganizerForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ProceedingsOrganizerForm.java @@ -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; } } + } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ProceedingsPapersAddForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ProceedingsPapersAddForm.java index 8b764d504..50e8dab57 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ProceedingsPapersAddForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ProceedingsPapersAddForm.java @@ -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); diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationAuthorAddForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationAuthorAddForm.java index 5bdcab48d..864158ff4 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationAuthorAddForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationAuthorAddForm.java @@ -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); diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationGenericOrganizationalUnitAddForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationGenericOrganizationalUnitAddForm.java index 74e576275..3d68d4428 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationGenericOrganizationalUnitAddForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationGenericOrganizationalUnitAddForm.java @@ -41,6 +41,7 @@ public class PublicationGenericOrganizationalUnitAddForm itemSearch = new ItemSearchWidget(ITEM_SEARCH, ContentType. findByAssociatedObjectType(GenericOrganizationalUnit.class. getName())); + itemSearch.setDisableCreatePane(true); add(itemSearch); } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationSeriesAddForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationSeriesAddForm.java index 9c1d8f3d0..c684ba36f 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationSeriesAddForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationSeriesAddForm.java @@ -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); diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationWithPublisherSetPublisherForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationWithPublisherSetPublisherForm.java index 6979ba0f0..58412d1a3 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationWithPublisherSetPublisherForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationWithPublisherSetPublisherForm.java @@ -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")); } } + } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/SeriesEditshipAddForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/SeriesEditshipAddForm.java index 0348c0f56..012c1a9e8 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/SeriesEditshipAddForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/SeriesEditshipAddForm.java @@ -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; diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/SeriesVolumeAddForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/SeriesVolumeAddForm.java index 3c8151057..f725df291 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/SeriesVolumeAddForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/SeriesVolumeAddForm.java @@ -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(""); diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/UnPublishedOrganizationForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/UnPublishedOrganizationForm.java index 22fe3850b..c8a111f31 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/UnPublishedOrganizationForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/UnPublishedOrganizationForm.java @@ -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; } } + }