*/
private static final long serialVersionUID = -4865668290514118396L;
+ /**
+ * Possible operations on a study.
+ */
private enum Execute {
- publish, protect, promote
+ /**
+ * Publish a study.
+ */
+ publish,
+ /**
+ * Make published study private.
+ */
+ protect,
+ /**
+ * Promote a study to the next state.
+ */
+ promote,
+ /**
+ * Demote a study from In-Draft or In-Check to In-Work.
+ */
+ demote
}
- // ==============================================================================================================================
+ // =========================================================================
// Action methods
- // ==============================================================================================================================
+ // =========================================================================
+ /**
+ * Perform operation on the selected study.
+ *
+ * @return SUCCESS
+ */
public String doEdition() {
_openStudy = getOpenStudy();
} else if (todo == Execute.protect) {
getStudyService().moveToPrivate(study);
} else if (todo == Execute.promote) {
- getStudyService().moveToReference(study);
+ getStudyService().promote(study);
+ } else if (todo == Execute.demote) {
+ getStudyService().demote(study);
}
+// _openStudy.getMenu().refreshSelectedItem(); // Updates the menu icon, in case of other documents in approved state
_openStudy.getPopup().setContext("study", _openStudy.getStudyRights()); // The context has changed
setMenu();
_myindex = null;
- _selection = _openStudy.getSelection(); //actually, value doesn't matter, it just has to be not null
+ _selection = _openStudy.getSelection(); // actually, value doesn't matter, it just has to be not null
doOpen();
return SUCCESS;
}
-
+
/**
* Mark study as reference functionality.
+ *
* @return SUCCESS
*/
public String doMarkAsReference() {
-
+
_openStudy = getOpenStudy();
Study study = _openStudy.getStudyObject();
-
+
getStudyService().markStudyAsReference(study);
_myindex = null;
- _selection = _openStudy.getSelection(); //actually, value doesn't matter, it just has to be not null
+ _selection = _openStudy.getSelection(); // actually, value doesn't matter, it just has to be not null
doOpen();
return SUCCESS;
}
-
+
/**
* Remove study as reference functionality.
+ *
* @return SUCCESS
*/
public String doRemoveAsReference() {
-
+
_openStudy = getOpenStudy();
Study study = _openStudy.getStudyObject();
-
+
getStudyService().removeStudyAsReference(study);
_myindex = null;
- _selection = _openStudy.getSelection(); //actually, value doesn't matter, it just has to be not null
+ _selection = _openStudy.getSelection(); // actually, value doesn't matter, it just has to be not null
doOpen();
return SUCCESS;
}