From baa2f1d2a5cdbaf57a6d0d407451cf469abc2a0c Mon Sep 17 00:00:00 2001 From: jensp Date: Tue, 5 Apr 2011 13:21:28 +0000 Subject: [PATCH] =?UTF-8?q?Reviewed=20(Begutachtet)=20f=C3=BCr=20einige=20?= =?UTF-8?q?Publikationen=20eingef=C3=BCgt.=20Oberfl=C3=A4che=20fehlt=20noc?= =?UTF-8?q?h?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.libreccm.org/ccm/trunk@830 8810af33-2d31-482b-a856-94f89814c4df --- .../ArticleInCollectedVolume.pdl | 2 ++ .../content-types/ArticleInJournal.pdl | 1 + .../content-types/CollectedVolume.pdl | 4 +++ .../com/arsdigita/content-types/Monograph.pdl | 2 ++ .../arsdigita/content-types/WorkingPaper.pdl | 1 + .../arsdigita/cms/contenttypes/Monograph.java | 11 +++++- .../ui/MonographPropertiesStep.java | 34 ++++++++++++++++-- .../ui/MonographPropertyForm.java | 35 ++++++++++++++++++- .../ui/PublicationResources.properties | 3 ++ .../ui/PublicationResources_de.properties | 3 ++ 10 files changed, 91 insertions(+), 5 deletions(-) diff --git a/ccm-sci-publications/pdl/com/arsdigita/content-types/ArticleInCollectedVolume.pdl b/ccm-sci-publications/pdl/com/arsdigita/content-types/ArticleInCollectedVolume.pdl index fd23e132e..6d65cfd7c 100644 --- a/ccm-sci-publications/pdl/com/arsdigita/content-types/ArticleInCollectedVolume.pdl +++ b/ccm-sci-publications/pdl/com/arsdigita/content-types/ArticleInCollectedVolume.pdl @@ -28,6 +28,8 @@ object type ArticleInCollectedVolume extends Publication { Integer[0..1] pagesFrom = ct_article_in_collected_volume.pages_from INTEGER; Integer[0..1] pagesTo = ct_article_in_collected_volume.pages_to INTEGER; String[0..1] chapter = ct_article_in_collected_volume.chapter VARCHAR(512); + Boolean[0..1] reviewed = ct_article_in_collected_volume.reviewed BIT; + reference key (ct_article_in_collected_volume.article_id); diff --git a/ccm-sci-publications/pdl/com/arsdigita/content-types/ArticleInJournal.pdl b/ccm-sci-publications/pdl/com/arsdigita/content-types/ArticleInJournal.pdl index 26c932dc0..44ea17158 100644 --- a/ccm-sci-publications/pdl/com/arsdigita/content-types/ArticleInJournal.pdl +++ b/ccm-sci-publications/pdl/com/arsdigita/content-types/ArticleInJournal.pdl @@ -30,6 +30,7 @@ object type ArticleInJournal extends Publication { Integer[0..1] pagesFrom = ct_article_in_journal.pages_from INTEGER; Integer[0..1] pagesTo = ct_article_in_journal.pages_to INTEGER; Date[0..1] publicationDate = ct_article_in_journal.publication_date DATE; + Boolean[0..1] reviewed = ct_article_in_journal.reviewed BIT; reference key (ct_article_in_journal.article_in_journal_id); diff --git a/ccm-sci-publications/pdl/com/arsdigita/content-types/CollectedVolume.pdl b/ccm-sci-publications/pdl/com/arsdigita/content-types/CollectedVolume.pdl index a3a852a0e..f6d313670 100644 --- a/ccm-sci-publications/pdl/com/arsdigita/content-types/CollectedVolume.pdl +++ b/ccm-sci-publications/pdl/com/arsdigita/content-types/CollectedVolume.pdl @@ -26,6 +26,8 @@ import com.arsdigita.cms.ContentPage; object type CollectedVolume extends PublicationWithPublisher { reference key (ct_collected_volume.collected_volume_id); + + Boolean[0..1] reviewed = ct_collected_volume.reviewed BIT; } @@ -42,5 +44,7 @@ association { Integer[0..1] articleOrder = ct_collected_volume_article_map.article_order INTEGER; + + } diff --git a/ccm-sci-publications/pdl/com/arsdigita/content-types/Monograph.pdl b/ccm-sci-publications/pdl/com/arsdigita/content-types/Monograph.pdl index 67e8b7b88..57c7f467f 100644 --- a/ccm-sci-publications/pdl/com/arsdigita/content-types/Monograph.pdl +++ b/ccm-sci-publications/pdl/com/arsdigita/content-types/Monograph.pdl @@ -27,4 +27,6 @@ object type Monograph extends PublicationWithPublisher { reference key (ct_monograph.monograph_id); + Boolean[0..1] reviewed = ct_monograph.reviewed BIT; + } diff --git a/ccm-sci-publications/pdl/com/arsdigita/content-types/WorkingPaper.pdl b/ccm-sci-publications/pdl/com/arsdigita/content-types/WorkingPaper.pdl index 3e192f7a0..f650261b5 100644 --- a/ccm-sci-publications/pdl/com/arsdigita/content-types/WorkingPaper.pdl +++ b/ccm-sci-publications/pdl/com/arsdigita/content-types/WorkingPaper.pdl @@ -26,5 +26,6 @@ import com.arsdigita.cms.ContentPage; object type WorkingPaper extends UnPublished { reference key (ct_working_paper.working_paper_id); + Boolean[0..1] reviewed = ct_working_paper.reviewed BIT; } \ No newline at end of file diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/Monograph.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/Monograph.java index 635fe79dd..bb9f05472 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/Monograph.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/Monograph.java @@ -29,7 +29,8 @@ import java.math.BigDecimal; * @author Jens Pelzetter */ public class Monograph extends PublicationWithPublisher { - + + public static final String REVIEWED = "reviewed"; public static final String BASE_DATA_OBJECT_TYPE = "com.arsdigita.cms.contenttypes.Monograph"; @@ -52,5 +53,13 @@ public class Monograph extends PublicationWithPublisher { public Monograph(String type) { super(type); } + + public Boolean getReviewed() { + return (Boolean) get(REVIEWED); + } + + public void setReviewed(Boolean reviewed) { + set(REVIEWED, reviewed); + } } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/MonographPropertiesStep.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/MonographPropertiesStep.java index 87c94ff8a..cf74b8d85 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/MonographPropertiesStep.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/MonographPropertiesStep.java @@ -21,11 +21,15 @@ package com.arsdigita.cms.contenttypes.ui; import com.arsdigita.bebop.Component; import com.arsdigita.bebop.Label; +import com.arsdigita.bebop.PageState; import com.arsdigita.cms.ItemSelectionModel; +import com.arsdigita.cms.contenttypes.Monograph; import com.arsdigita.cms.ui.authoring.AuthoringKitWizard; import com.arsdigita.cms.ui.authoring.BasicPageForm; import com.arsdigita.cms.ui.authoring.SimpleEditStep; import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess; +import com.arsdigita.domain.DomainObject; +import com.arsdigita.domain.DomainService; import com.arsdigita.toolbox.ui.DomainObjectPropertySheet; /** @@ -42,9 +46,12 @@ public class MonographPropertiesStep public static Component getMonographPropertySheet( ItemSelectionModel itemModel) { - DomainObjectPropertySheet sheet = (DomainObjectPropertySheet) - PublicationWithPublisherPropertiesStep. - getPublicationWithPublisherPropertySheet(itemModel); + DomainObjectPropertySheet sheet = (DomainObjectPropertySheet) PublicationWithPublisherPropertiesStep. + getPublicationWithPublisherPropertySheet(itemModel); + + /*sheet.add(PublicationGlobalizationUtil.globalize( + "publications.ui.monograph.reviewed"), + Monograph.REVIEWED, new ReviewedFormatter());*/ return sheet; } @@ -75,4 +82,25 @@ public class MonographPropertiesStep "publications.ui.publication.basic_properties").localize()), basicProperties); } + + private static class ReviewedFormatter + extends DomainService + implements DomainObjectPropertySheet.AttributeFormatter { + + public ReviewedFormatter() { + super(); + } + + public String format(DomainObject obj, String attribute, PageState state) { + if ((get(obj, attribute) != null) + && (get(obj, attribute) instanceof Boolean) + && ((Boolean) get(obj, attribute) == true)) { + return (String) PublicationGlobalizationUtil.globalize( + "publications.ui.monograph.reviewed.yes").localize(); + } else { + return (String) PublicationGlobalizationUtil.globalize( + "publications.ui.monograph.reviewed.no").localize(); + } + } + } } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/MonographPropertyForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/MonographPropertyForm.java index 179ac7a69..8e1643f1a 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/MonographPropertyForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/MonographPropertyForm.java @@ -21,10 +21,15 @@ package com.arsdigita.cms.contenttypes.ui; import com.arsdigita.bebop.FormData; import com.arsdigita.bebop.FormProcessException; +import com.arsdigita.bebop.Label; import com.arsdigita.bebop.event.FormInitListener; import com.arsdigita.bebop.event.FormProcessListener; import com.arsdigita.bebop.event.FormSectionEvent; import com.arsdigita.bebop.event.FormSubmissionListener; +import com.arsdigita.bebop.form.CheckboxGroup; +import com.arsdigita.bebop.form.Option; +import com.arsdigita.bebop.parameters.ArrayParameter; +import com.arsdigita.bebop.parameters.BooleanParameter; import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.contenttypes.Monograph; @@ -38,9 +43,12 @@ public class MonographPropertyForm FormInitListener, FormSubmissionListener { + private static final String REVIEWED = "reviewed"; private MonographPropertiesStep m_step; public static final String ID = "MonographEdit"; + private CheckboxGroup reviewed; + public MonographPropertyForm(ItemSelectionModel itemModel) { this(itemModel, null); } @@ -55,6 +63,12 @@ public class MonographPropertyForm @Override protected void addWidgets() { super.addWidgets(); + +/* add(new Label(PublicationGlobalizationUtil.globalize( + "publications.ui.monograph.reviewed"))); + reviewed = new CheckboxGroup("reviewedGroup"); + reviewed.addOption(new Option(REVIEWED, "")); + add(reviewed);*/ } @Override @@ -63,6 +77,12 @@ public class MonographPropertyForm FormData data = fse.getFormData(); Monograph monograph = (Monograph) super.initBasicWidgets(fse); + + if ((monograph.getReviewed() != null) && (monograph.getReviewed())) { + reviewed.setValue(fse.getPageState(), new String[]{REVIEWED}); + } else { + reviewed.setValue(fse.getPageState(), null); + } } @Override @@ -70,6 +90,19 @@ public class MonographPropertyForm super.process(fse); FormData data = fse.getFormData(); - Monograph monograph = (Monograph) super.processBasicWidgets(fse); + Monograph monograph = (Monograph) super.processBasicWidgets(fse); + + if ((monograph != null) && getSaveCancelSection().getSaveButton(). + isSelected(fse.getPageState())) { + if (reviewed.getValue(fse.getPageState()) == null) { + monograph.setReviewed(false); + } else { + monograph.setReviewed(true); + } + + monograph.save(); + } } + + } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationResources.properties b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationResources.properties index 3fe1177be..3fc702fe5 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationResources.properties +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationResources.properties @@ -298,3 +298,6 @@ publications.ui.internetarticle.setOrganization=Set organization publications.ui.internetarticle.organization.none=No organization associated publications.ui.internetarticle.select_organization=Select organization publication.ui.internetarticle.organization.remove=Remove +publications.ui.monograph.reviewed=Reviewed +publications.ui.monograph.reviewed.yes=Yes +publications.ui.monograph.reviewed.no=No diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationResources_de.properties b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationResources_de.properties index 668fcef79..89e545125 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationResources_de.properties +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationResources_de.properties @@ -297,3 +297,6 @@ publications.ui.internetarticle.setOrganization=Organisation zuweisen publications.ui.internetarticle.organization.none=Keine Organisation zugewiesen publications.ui.internetarticle.select_organization=Organisation ausw\u00e4hlen publication.ui.internetarticle.organization.remove=Entfernen +publications.ui.monograph.reviewed=Begutachtet +publications.ui.monograph.reviewed.yes=Ja +publications.ui.monograph.reviewed.no=Nein