diff --git a/app/controllers/CampaignController.java b/app/controllers/CampaignController.java index 11345107..3f29256c 100644 --- a/app/controllers/CampaignController.java +++ b/app/controllers/CampaignController.java @@ -197,6 +197,18 @@ public static Result editCampaign(String id) throws ClassNotFoundException, Json campaign.setIsPublic(json.get("isPublic").asBoolean()); } + if( json.has( "hideRating" )) { + campaign.setHideRating( json.get( "hideRating").asBoolean()); + } + if( json.has( "hideComments" )) { + campaign.setHideComments( json.get( "hideComments").asBoolean()); + } + if( json.has( "hasPublicResults" )) { + campaign.setHasPublicResults( json.get( "hasPublicResults").asBoolean()); + } + + + if (json.has("vocabularyMapping")) { campaign.setVocabularyMapping(newCampaign.getVocabularyMapping()); } diff --git a/app/db/RecordResourceDAO.java b/app/db/RecordResourceDAO.java index 0279b95a..37867b37 100644 --- a/app/db/RecordResourceDAO.java +++ b/app/db/RecordResourceDAO.java @@ -298,8 +298,8 @@ public List getByCollectionNoContribution(List recordIds = (List) CollectionUtils.collect(collectedResources, new BeanToPropertyValueTransformer("target.recordId")); q.field("_id").in(recordIds); - q.or(q.criteria("administrative.annotators." + userId).doesNotExist(), - q.criteria("administrative.annotators." + userId).lessThan(1)); + q.or(q.criteria("annotationIds").doesNotExist(), + q.criteria("annotationIds").sizeEq(0)); return this.find(q).asList(); } catch (Exception e) { return new ArrayList(); @@ -312,8 +312,8 @@ public List getByCollectionFilterOnlyContributedItems(List recordIds = (List) CollectionUtils.collect(collectedResources, new BeanToPropertyValueTransformer("target.recordId")); q.field("_id").in(recordIds); - q.or(q.criteria("administrative.annotators." + userId).exists(), - q.criteria("administrative.annotators." + userId).greaterThan(0)); + q.and(q.criteria("annotationIds").exists(), + q.criteria("annotationIds").not().sizeEq(0)); return this.find(q).asList(); } catch (Exception e) { return new ArrayList(); diff --git a/app/model/Campaign.java b/app/model/Campaign.java index 312a0cfe..57640ebe 100644 --- a/app/model/Campaign.java +++ b/app/model/Campaign.java @@ -407,7 +407,11 @@ public void setLongDescription(String longDescription) { private Literal disclaimer; private boolean isPublic; - + + private boolean hasPublicResults; + private boolean hideComments; + private boolean hideRating; + @JsonSerialize(using = Serializer.ObjectIdArraySerializer.class) // @JsonDeserialize(using = Deserializer.ObjectIdArraySerializer.class) private Set creators = new HashSet(); @@ -546,6 +550,29 @@ public void setIsPublic(boolean aPublic) { isPublic = aPublic; } + public boolean getHideComments() { + return this.hideComments; + } + + public void setHideComments( boolean hideComments ) { + this.hideComments = hideComments; + } + + public boolean getHasPublicResults( ) { + return this.hasPublicResults; + } + + public void setHasPublicResults( boolean hasPublicResults ) { + this.hasPublicResults = hasPublicResults; + } + + public boolean getHideRating() { + return this.hideRating; + } + public void setHideRating( boolean hideRating ) { + this.hideRating = hideRating; + } + public Boolean getActive() { Date today = new Date(); return ( (today.compareTo(this.startDate)>0) && (today.compareTo(this.endDate)<0) );