Skip to content

Commit

Permalink
#6684 update render logic for publish buttons
Browse files Browse the repository at this point in the history
  • Loading branch information
sekmiller committed Jun 4, 2020
1 parent a8367f5 commit 864ed46
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 70 deletions.
29 changes: 29 additions & 0 deletions src/main/java/edu/harvard/iq/dataverse/DatasetPage.java
Original file line number Diff line number Diff line change
Expand Up @@ -3778,6 +3778,35 @@ public boolean isLockedForAnyReason() {
}
return false;
}

public void processPublishButton() {

if (dataset.isReleased()) {
PrimeFaces.current().executeScript("PF('releaseDraft').show()");
}

if (!dataset.isReleased()) {
if (dataset.getOwner().isReleased()) {
PrimeFaces.current().executeScript("PF('publishConfirm').show()");
return;
}
if (!dataset.getOwner().isReleased()) {
if (canPublishDataverse()) {
if (dataset.getOwner().getOwner() == null
|| (dataset.getOwner().getOwner() != null && dataset.getOwner().getOwner().isReleased())) {
PrimeFaces.current().executeScript("PF('publishParent').show()");
return;
}
if ((dataset.getOwner().getOwner() != null && !dataset.getOwner().getOwner().isReleased())) {
PrimeFaces.current().executeScript("PF('maynotPublishParent').show()");
}

} else {
PrimeFaces.current().executeScript("PF('mayNotRelease').show()");
}
}
}
}

private Boolean lockedFromEditsVar;
private Boolean lockedFromDownloadVar;
Expand Down
113 changes: 43 additions & 70 deletions src/main/webapp/dataset.xhtml
Original file line number Diff line number Diff line change
Expand Up @@ -19,31 +19,25 @@
<ui:param name="dataset" value="#{DatasetPage.dataset}"/>
<ui:param name="version" value="#{DatasetPage.workingVersion}"/>
<ui:param name="locked" value="#{DatasetPage.locked}"/>
<ui:param name="showMessagePanel" value="#{true}"/>
<ui:param name="showMessagePanel" value="#{true}"/>
<ui:param name="showPublishButtonGroup" value="#{DatasetPage.workingVersion == DatasetPage.dataset.latestVersion
and DatasetPage.dataset.latestVersion.versionState=='DRAFT'
and (permissionsWrapper.canIssuePublishDatasetCommand(DatasetPage.dataset)
or
(DatasetPage.canUpdateDataset()
and !permissionsWrapper.canIssuePublishDatasetCommand(DatasetPage.dataset)))}"/>
<ui:param name="showConfirmPublishButton" value="#{!DatasetPage.dataset.released and DatasetPage.dataset.owner.released
and permissionsWrapper.canIssuePublishDatasetCommand(DatasetPage.dataset)}"/>
<ui:param name="showReleaseDraftButton" value="#{DatasetPage.dataset.released and DatasetPage.dataset.owner.released
and permissionsWrapper.canIssuePublishDatasetCommand(DatasetPage.dataset)}"/>
<ui:param name="showMayNotReleaseButton" value="#{!DatasetPage.dataset.owner.released
and permissionsWrapper.canIssuePublishDatasetCommand(DatasetPage.dataset)
and !DatasetPage.canPublishDataverse()}"/>
<ui:param name="showPublishParentButton" value="#{!DatasetPage.dataset.owner.released
and DatasetPage.canPublishDataverse()
and (DatasetPage.dataset.owner.owner == null or
(DatasetPage.dataset.owner.owner != null and DatasetPage.dataset.owner.owner.released))
and permissionsWrapper.canIssuePublishDatasetCommand(DatasetPage.dataset)}"/>

<ui:param name="showMayNotPublishParentButton" value="#{!DatasetPage.dataset.owner.released
and DatasetPage.canPublishDataverse()
and (DatasetPage.dataset.owner.owner != null and !DatasetPage.dataset.owner.owner.released)
and permissionsWrapper.canIssuePublishDatasetCommand(DatasetPage.dataset)}"/>
<!-- TO-DO #3513 DOWNLOAD ALL LINK -->
and DatasetPage.dataset.latestVersion.inReview}"/>

<ui:param name="showPublishButton" value="#{DatasetPage.workingVersion == DatasetPage.dataset.latestVersion
and DatasetPage.dataset.latestVersion.versionState=='DRAFT'
and permissionsWrapper.canIssuePublishDatasetCommand(DatasetPage.dataset)
and !DatasetPage.dataset.latestVersion.inReview}"/>
<ui:param name="showSubmitForReviewButton" value="#{DatasetPage.workingVersion == DatasetPage.dataset.latestVersion
and !DatasetPage.datasetLockedInWorkflow
and DatasetPage.dataset.latestVersion.versionState=='DRAFT'
and DatasetPage.canUpdateDataset()
and !permissionsWrapper.canIssuePublishDatasetCommand(DatasetPage.dataset)}"/>

<ui:param name="showReturnToAuthor" value="#{DatasetPage.dataset.latestVersion.versionState=='DRAFT' and DatasetPage.dataset.latestVersion.inReview
and permissionsWrapper.canIssuePublishDatasetCommand(DatasetPage.dataset)}"/>
<!-- TO-DO #3513 DOWNLOAD ALL LINK -->
<!-- ADDED TOOLS SPECIFIC LOGIC TO DatasetPage.canDownloadFiles() RENDER LOGIC, CAN BE REMOVED WHEN DOWNLOAD ALL FILES IS WIRED UP -->
<ui:param name="showAccessDatasetButtonGroup" value="#{(DatasetPage.canDownloadFiles()
and (DatasetPage.datasetExploreTools.size() >= 1
Expand Down Expand Up @@ -245,43 +239,16 @@
#{bundle['dataset.publishBtn']} <span class="caret"></span>
</button>
<ul class="dropdown-menu pull-right text-left">
<!-- Publish LINKS x5 -->
<!-- Publish -->
<li class="#{DatasetPage.locked and !DatasetPage.dataset.latestVersion.inReview ? 'disabled' : ''}">
<p:commandLink styleClass="#{DatasetPage.locked and !DatasetPage.dataset.latestVersion.inReview ? 'disabled' : ''}"
rendered="#{showConfirmPublishButton}"
disabled="#{DatasetPage.locked and !DatasetPage.dataset.latestVersion.inReview}"
onclick="PF('publishConfirm').show()">
#{bundle['dataset.publish.btn']}
</p:commandLink>
<p:commandLink styleClass="#{DatasetPage.locked and !DatasetPage.dataset.latestVersion.inReview ? 'disabled' : ''}"
rendered="#{showReleaseDraftButton}"
disabled="#{DatasetPage.locked and !DatasetPage.dataset.latestVersion.inReview}"
onclick="PF('releaseDraft').show()">
#{bundle['dataset.publish.btn']}
</p:commandLink>
<!-- 4.2.1: replaced permissionServiceBean.on(DatasetPage.dataset.owner).has('PublishDataverse') with DatasetPage.canPublishDataverse() -->
<p:commandLink styleClass="#{DatasetPage.locked and !DatasetPage.dataset.latestVersion.inReview ? 'disabled' : ''}"
rendered="#{showMayNotReleaseButton}"
disabled="#{DatasetPage.locked and !DatasetPage.dataset.latestVersion.inReview}"
onclick="PF('mayNotRelease').show()">
#{bundle['dataset.publish.btn']}
</p:commandLink>
<p:commandLink styleClass="#{DatasetPage.locked and !DatasetPage.dataset.latestVersion.inReview ? 'disabled' : ''}"
rendered="#{showPublishParentButton}"
disabled="#{DatasetPage.locked and !DatasetPage.dataset.latestVersion.inReview}"
onclick="PF('publishParent').show()">
#{bundle['dataset.publish.btn']}
</p:commandLink>
<p:commandLink styleClass="#{DatasetPage.locked and !DatasetPage.dataset.latestVersion.inReview ? 'disabled' : ''}"
rendered="#{showMayNotPublishParentButton}"
disabled="#{DatasetPage.locked and !DatasetPage.dataset.latestVersion.inReview}"
onclick="PF('maynotPublishParent').show()">
<p:commandLink styleClass="#{DatasetPage.locked and !DatasetPage.dataset.latestVersion.inReview ? 'disabled' : ''}"
disabled="#{DatasetPage.locked and !DatasetPage.dataset.latestVersion.inReview}"
action="#{DatasetPage.processPublishButton()}">
#{bundle['dataset.publish.btn']}
</p:commandLink>
</li>
<!-- END: Publish LINKS -->
<ui:fragment rendered="#{DatasetPage.dataset.latestVersion.versionState=='DRAFT' and DatasetPage.dataset.latestVersion.inReview
and permissionsWrapper.canIssuePublishDatasetCommand(DatasetPage.dataset)}">
<ui:fragment rendered="#{showReturnToAuthor}">
<!-- Return to Author LINK -->
<li class="#{(DatasetPage.locked and !DatasetPage.dataset.latestVersion.inReview) ? 'disabled' : ''}">
<p:commandLink class="#{(DatasetPage.locked and !DatasetPage.dataset.latestVersion.inReview) ? 'disabled' : ''}"
Expand All @@ -292,24 +259,30 @@
</li>
<!-- END: Return to Author LINK -->
</ui:fragment>
<ui:fragment rendered="#{DatasetPage.workingVersion == DatasetPage.dataset.latestVersion
and !DatasetPage.datasetLockedInWorkflow
and DatasetPage.dataset.latestVersion.versionState=='DRAFT'
and DatasetPage.canUpdateDataset()
and !permissionsWrapper.canIssuePublishDatasetCommand(DatasetPage.dataset)}">
<!-- Submit for Review LINK -->
<li class="#{DatasetPage.dataset.latestVersion.inReview or DatasetPage.dataset.locked ? 'disabled' : ''}">
<p:commandLink class="#{DatasetPage.dataset.latestVersion.inReview or DatasetPage.dataset.locked ? 'disabled' : ''}"
disabled="#{DatasetPage.dataset.latestVersion.inReview or DatasetPage.dataset.locked}"
onclick="PF('inreview').show()">
#{DatasetPage.dataset.latestVersion.inReview ? bundle['dataset.disabledSubmittedBtn'] : bundle['dataset.submitBtn']}
</p:commandLink>
</li>
<!-- End: Submit for Review LINK -->
</ui:fragment>
</ul>
</div>
</div>
</div>
<ui:fragment rendered="#{showPublishButton}">
<!-- Single Publish Button -->
<li class="#{DatasetPage.locked and !DatasetPage.dataset.latestVersion.inReview ? 'disabled' : ''}">
<p:commandLink styleClass="#{DatasetPage.locked and !DatasetPage.dataset.latestVersion.inReview ? 'disabled' : ''}"
disabled="#{DatasetPage.locked and !DatasetPage.dataset.latestVersion.inReview}"
action="#{DatasetPage.processPublishButton()}">
#{bundle['dataset.publish.btn']}
</p:commandLink>
</li>
</ui:fragment>
<ui:fragment rendered="#{showSubmitForReviewButton}">
<!-- Submit for Review LINK -->
<li class="#{DatasetPage.dataset.latestVersion.inReview or DatasetPage.dataset.locked ? 'disabled' : ''}">
<p:commandLink class="#{DatasetPage.dataset.latestVersion.inReview or DatasetPage.dataset.locked ? 'disabled' : ''}"
disabled="#{DatasetPage.dataset.latestVersion.inReview or DatasetPage.dataset.locked}"
onclick="PF('inreview').show()">
#{DatasetPage.dataset.latestVersion.inReview ? bundle['dataset.disabledSubmittedBtn'] : bundle['dataset.submitBtn']}
</p:commandLink>
</li>
<!-- End: Submit for Review LINK -->
</ui:fragment>
<!-- END: Publish -->

<!-- Edit Dataset -->
Expand Down

0 comments on commit 864ed46

Please sign in to comment.