From c245341db7f815287a54a5f1c8ee59ddcef03eb0 Mon Sep 17 00:00:00 2001 From: jensp Date: Thu, 3 Oct 2013 07:51:31 +0000 Subject: [PATCH] =?UTF-8?q?-=20Bei=20SciProject=20kann=20jetzt=20optional?= =?UTF-8?q?=20eine=20Organisation=20als=20Drittmittelgeber=20ausgew=C3=A4h?= =?UTF-8?q?lt=20werden=20-=20Verschiedene=20Formatierungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.libreccm.org/ccm/trunk@2334 8810af33-2d31-482b-a856-94f89814c4df --- ...icationGenericOrganizationalUnitsStep.java | 18 +- ...cationGenericOrganizationalUnitsTable.java | 9 +- ...licationWithPublisherSetPublisherForm.java | 18 +- ...icationWithPublisherSetPublisherSheet.java | 6 +- ...licationWithPublisherSetPublisherStep.java | 33 +-- ccm-sci-types-project/application.xml | 2 +- .../arsdigita/content-types/SciProject.pdl | 13 ++ .../6.6.6-6.6.7/create_sponsor_map.sql | 15 ++ .../upgrade/postgres-6.6.6-6.6.7.sql | 7 + .../src/ccm-sci-types-project.upgrade | 5 +- .../cms/contenttypes/SciProject.java | 20 ++ .../cms/contenttypes/SciProjectBundle.java | 119 +++++++++- .../cms/contenttypes/SciProjectConfig.java | 28 ++- .../SciProjectConfig_parameter.properties | 10 + .../SciProjectSponsorCollection.java | 42 ++++ .../ui/SciProjectDescriptionEditForm.java | 98 ++++++-- .../ui/SciProjectDescriptionStep.java | 137 +++++++---- .../ui/SciProjectDescriptionTextEditForm.java | 78 +++++++ .../ui/SciProjectDescriptionTextStep.java | 78 +++++++ .../ui/SciProjectFundingEditForm.java | 127 ++++++++++ .../ui/SciProjectFundingStep.java | 63 +++++ .../ui/SciProjectFundingUploadForm.java | 38 +++ .../ui/SciProjectPropertiesStep.java | 6 +- .../ui/SciProjectResources.properties | 11 + .../ui/SciProjectResources_de.properties | 11 + .../ui/SciProjectSponsorForm.java | 99 ++++++++ .../ui/SciProjectSponsorSheet.java | 218 ++++++++++++++++++ .../ui/SciProjectSponsorStep.java | 38 +++ .../contenttypes/ui/SciProjectSummaryTab.java | 10 + 29 files changed, 1235 insertions(+), 122 deletions(-) create mode 100644 ccm-sci-types-project/sql/ccm-sci-types-project/default/upgrade/6.6.6-6.6.7/create_sponsor_map.sql create mode 100644 ccm-sci-types-project/sql/ccm-sci-types-project/upgrade/postgres-6.6.6-6.6.7.sql create mode 100644 ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/SciProjectSponsorCollection.java create mode 100644 ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectDescriptionTextEditForm.java create mode 100644 ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectDescriptionTextStep.java create mode 100644 ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectFundingEditForm.java create mode 100644 ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectFundingStep.java create mode 100644 ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectFundingUploadForm.java create mode 100644 ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectSponsorForm.java create mode 100644 ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectSponsorSheet.java create mode 100644 ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectSponsorStep.java diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationGenericOrganizationalUnitsStep.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationGenericOrganizationalUnitsStep.java index cd8785fee..89920f0ca 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationGenericOrganizationalUnitsStep.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationGenericOrganizationalUnitsStep.java @@ -30,30 +30,32 @@ import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess; * @version $Id$ */ public class PublicationGenericOrganizationalUnitsStep extends SimpleEditStep { - + private String ADD_ORGAUNIT_SHEET_NAME = "PublicationGenericOrganizationalUnitAddForm"; - + public PublicationGenericOrganizationalUnitsStep( final ItemSelectionModel itemModel, final AuthoringKitWizard parent) { this(itemModel, parent, null); } - + public PublicationGenericOrganizationalUnitsStep( final ItemSelectionModel itemModel, final AuthoringKitWizard parent, final String prefix) { super(itemModel, parent, prefix); - + final BasicItemForm addOrgaUnitSheet = new PublicationGenericOrganizationalUnitAddForm( itemModel); add(ADD_ORGAUNIT_SHEET_NAME, PublicationGlobalizationUtil.globalize("publications.ui.orgaunit.add"), new WorkflowLockedComponentAccess(addOrgaUnitSheet, itemModel), addOrgaUnitSheet.getSaveCancelSection().getCancelButton()); - - final PublicationGenericOrganizationalUnitsTable orgaunitsTable = new PublicationGenericOrganizationalUnitsTable( + + final PublicationGenericOrganizationalUnitsTable orgaunitsTable = + new PublicationGenericOrganizationalUnitsTable( itemModel); - setDisplayComponent(orgaunitsTable); - } + setDisplayComponent(orgaunitsTable); + } + } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationGenericOrganizationalUnitsTable.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationGenericOrganizationalUnitsTable.java index 3a1bdce57..b26385665 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationGenericOrganizationalUnitsTable.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationGenericOrganizationalUnitsTable.java @@ -31,6 +31,7 @@ import com.arsdigita.bebop.table.TableColumn; import com.arsdigita.bebop.table.TableColumnModel; import com.arsdigita.bebop.table.TableModel; import com.arsdigita.bebop.table.TableModelBuilder; +import com.arsdigita.cms.CMS; import com.arsdigita.cms.ContentSection; import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit; @@ -160,8 +161,7 @@ public class PublicationGenericOrganizationalUnitsTable extends Table { final Object key, final int row, final int column) { - final com.arsdigita.cms.SecurityManager securityManager = Utilities. - getSecurityManager(state); + final com.arsdigita.cms.SecurityManager securityManager = CMS.getSecurityManager(state); final GenericOrganizationalUnit orgaunit = new GenericOrganizationalUnit( (BigDecimal) key); @@ -171,7 +171,7 @@ public class PublicationGenericOrganizationalUnitsTable extends Table { com.arsdigita.cms.SecurityManager.EDIT_ITEM, orgaunit); if (canEdit) { - final ContentSection section = orgaunit.getContentSection();//CMS.getContext().getContentSection(); + final ContentSection section = orgaunit.getContentSection(); final ItemResolver resolver = section.getItemResolver(); final Link link = new Link( String.format("%s (%s)", @@ -205,8 +205,7 @@ public class PublicationGenericOrganizationalUnitsTable extends Table { final Object key, final int row, final int column) { - final com.arsdigita.cms.SecurityManager securityManager = Utilities. - getSecurityManager(state); + final com.arsdigita.cms.SecurityManager securityManager = CMS.getSecurityManager(state); final Publication publication = (Publication) itemModel.getSelectedObject(state); 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 1725549a5..7ab88be11 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 @@ -48,13 +48,12 @@ public class PublicationWithPublisherSetPublisherForm private ItemSearchWidget itemSearch; private final String ITEM_SEARCH = "setPublisher"; - private final static PublicationsConfig config = new PublicationsConfig(); + private final static PublicationsConfig config = new PublicationsConfig(); static { config.load(); } - public PublicationWithPublisherSetPublisherForm( final ItemSelectionModel itemModel) { super("PublicationWithPublisherSetPublisher", itemModel); @@ -62,12 +61,14 @@ public class PublicationWithPublisherSetPublisherForm @Override public void addWidgets() { - add(new Label((String) PublicationGlobalizationUtil.globalize( - "publications.ui.with_publisher.publisher").localize())); + add(new Label(PublicationGlobalizationUtil.globalize( + "publications.ui.with_publisher.publisher"))); 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()))); + itemSearch.setDefaultCreationFolder(new Folder(new BigDecimal(config. + getDefaultPublisherFolder()))); } itemSearch.setEditAfterCreate(false); add(itemSearch); @@ -90,7 +91,8 @@ 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); @@ -120,7 +122,7 @@ public class PublicationWithPublisherSetPublisherForm languageIndependentItems()))) { data.addError( PublicationGlobalizationUtil.globalize( - "publications.ui.with_publisher.publisher.no_suitable_language_variant")); + "publications.ui.with_publisher.publisher.no_suitable_language_variant")); } } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationWithPublisherSetPublisherSheet.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationWithPublisherSetPublisherSheet.java index 93af346a3..fab146f41 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationWithPublisherSetPublisherSheet.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationWithPublisherSetPublisherSheet.java @@ -31,12 +31,12 @@ import com.arsdigita.bebop.table.TableColumn; import com.arsdigita.bebop.table.TableColumnModel; import com.arsdigita.bebop.table.TableModel; import com.arsdigita.bebop.table.TableModelBuilder; +import com.arsdigita.cms.CMS; import com.arsdigita.cms.ContentSection; import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.contenttypes.PublicationWithPublisher; import com.arsdigita.cms.contenttypes.Publisher; import com.arsdigita.cms.dispatcher.ItemResolver; -import com.arsdigita.cms.dispatcher.Utilities; import com.arsdigita.dispatcher.ObjectNotFoundException; import com.arsdigita.util.LockableImpl; import java.math.BigDecimal; @@ -171,7 +171,7 @@ public class PublicationWithPublisherSetPublisherSheet int row, int column) { com.arsdigita.cms.SecurityManager securityManager = - Utilities.getSecurityManager(state); + CMS.getSecurityManager(state); PublicationWithPublisher publication = (PublicationWithPublisher) itemModel. getSelectedObject(state); @@ -226,7 +226,7 @@ public class PublicationWithPublisherSetPublisherSheet int row, int col) { com.arsdigita.cms.SecurityManager securityManager = - Utilities.getSecurityManager(state); + CMS.getSecurityManager(state); PublicationWithPublisher publication = (PublicationWithPublisher) itemModel. getSelectedObject( diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationWithPublisherSetPublisherStep.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationWithPublisherSetPublisherStep.java index de1b8078b..5b1c6ea81 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationWithPublisherSetPublisherStep.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationWithPublisherSetPublisherStep.java @@ -34,24 +34,27 @@ public class PublicationWithPublisherSetPublisherStep extends SimpleEditStep { "setPublicationPublisherStep"; public PublicationWithPublisherSetPublisherStep(final ItemSelectionModel itemModel, - final AuthoringKitWizard parent) { + final AuthoringKitWizard parent) { this(itemModel, parent, null); } - public PublicationWithPublisherSetPublisherStep(final ItemSelectionModel itemModel, - final AuthoringKitWizard parent, - final String prefix) { - super(itemModel, parent, prefix); + public PublicationWithPublisherSetPublisherStep(final ItemSelectionModel itemModel, + final AuthoringKitWizard parent, + final String prefix) { + super(itemModel, parent, prefix); - BasicItemForm setPublisherForm = new PublicationWithPublisherSetPublisherForm( - itemModel); - add(SET_PUBLICATION_PUBLISHER_STEP, - (String) PublicationGlobalizationUtil.globalize("publications.ui.with_publisher.setPublisher").localize(), - new WorkflowLockedComponentAccess(setPublisherForm, itemModel), - setPublisherForm.getSaveCancelSection().getCancelButton()); + BasicItemForm setPublisherForm = new PublicationWithPublisherSetPublisherForm( + itemModel); + add(SET_PUBLICATION_PUBLISHER_STEP, + (String) PublicationGlobalizationUtil.globalize( + "publications.ui.with_publisher.setPublisher").localize(), + new WorkflowLockedComponentAccess(setPublisherForm, itemModel), + setPublisherForm.getSaveCancelSection().getCancelButton()); + + PublicationWithPublisherSetPublisherSheet sheet = + new PublicationWithPublisherSetPublisherSheet( + itemModel); + setDisplayComponent(sheet); + } - PublicationWithPublisherSetPublisherSheet sheet = new PublicationWithPublisherSetPublisherSheet( - itemModel); - setDisplayComponent(sheet); - } } diff --git a/ccm-sci-types-project/application.xml b/ccm-sci-types-project/application.xml index a312787a8..adc89fac1 100644 --- a/ccm-sci-types-project/application.xml +++ b/ccm-sci-types-project/application.xml @@ -2,7 +2,7 @@ diff --git a/ccm-sci-types-project/pdl/com/arsdigita/content-types/SciProject.pdl b/ccm-sci-types-project/pdl/com/arsdigita/content-types/SciProject.pdl index efe5c4a53..749a1d3d6 100644 --- a/ccm-sci-types-project/pdl/com/arsdigita/content-types/SciProject.pdl +++ b/ccm-sci-types-project/pdl/com/arsdigita/content-types/SciProject.pdl @@ -23,6 +23,19 @@ object type SciProjectBundle extends GenericOrganizationalUnitBundle { reference key (ct_sci_project_bundles.bundle_id); } +association { + GenericOrganizationalUnitBundle[0..n] sponsors = join ct_sci_project_bundles.bundle_id + to ct_sci_project_sponsor_map.project_id, + join ct_sci_project_sponsor_map.sponsor_id + to cms_orgaunit_bundles.bundle_id; + + SciProjectBundle[0..n] sponsoredProjects = join cms_orgaunit_bundles.bundle_id + to ct_sci_project_sponsor_map.sponsor_id, + join ct_sci_project_sponsor_map.project_id + to ct_sci_project_bundles.bundle_id; + Integer[0..1] sponsorOrder = ct_sci_project_sponsor_map.sponsor_order INTEGER; +} + query getIdsOfProjectsOfOrgaUnit { BigDecimal projectId; BigDecimal orgaunitId; diff --git a/ccm-sci-types-project/sql/ccm-sci-types-project/default/upgrade/6.6.6-6.6.7/create_sponsor_map.sql b/ccm-sci-types-project/sql/ccm-sci-types-project/default/upgrade/6.6.6-6.6.7/create_sponsor_map.sql new file mode 100644 index 000000000..2304da355 --- /dev/null +++ b/ccm-sci-types-project/sql/ccm-sci-types-project/default/upgrade/6.6.6-6.6.7/create_sponsor_map.sql @@ -0,0 +1,15 @@ +create table ct_sci_project_sponsor_map ( + sponsor_id INTEGER not null, + project_id INTEGER not null, + sponsor_order INTEGER, + + constraint ct_sci_pro_spo_map_pro_p_y6bbk + primary key(project_id, sponsor_id) +); + +alter table ct_sci_project_sponsor_map add + constraint ct_sci_pro_spo_map_pro_f_8a7hv foreign key (project_id) + references ct_sci_project_bundles(bundle_id); +alter table ct_sci_project_sponsor_map add + constraint ct_sci_pro_spo_map_spo_f_7x6td foreign key (sponsor_id) + references cms_orgaunit_bundles(bundle_id); diff --git a/ccm-sci-types-project/sql/ccm-sci-types-project/upgrade/postgres-6.6.6-6.6.7.sql b/ccm-sci-types-project/sql/ccm-sci-types-project/upgrade/postgres-6.6.6-6.6.7.sql new file mode 100644 index 000000000..391693478 --- /dev/null +++ b/ccm-sci-types-project/sql/ccm-sci-types-project/upgrade/postgres-6.6.6-6.6.7.sql @@ -0,0 +1,7 @@ +\echo 'ScientificCMS SciProject module upgrade 6.6.6 -> 6.6.7 (PostgreSQL)' + +begin; + +\i ../default/upgrade/6.6.6-6.6.7/create_sponsor_map.sql + +end; \ No newline at end of file diff --git a/ccm-sci-types-project/src/ccm-sci-types-project.upgrade b/ccm-sci-types-project/src/ccm-sci-types-project.upgrade index 53d991bcf..fbd5261b5 100644 --- a/ccm-sci-types-project/src/ccm-sci-types-project.upgrade +++ b/ccm-sci-types-project/src/ccm-sci-types-project.upgrade @@ -1,5 +1,8 @@ - +