use of org.akaza.openclinica.bean.core.Status in project OpenClinica by OpenClinica.
the class ListDiscNotesSubjectTableFactory method repeatingEventDivBuilder.
private void repeatingEventDivBuilder(HtmlBuilder eventDiv, SubjectBean subject, Integer rowCount, List<StudyEventBean> studyEvents, StudyEventDefinitionBean sed, StudySubjectBean studySubject) {
String tableHeaderRowStyleClass = "table_header_row";
String tableHeaderRowLeftStyleClass = "table_header_row_left";
String add_another_occurrence = resword.getString("add_another_occurrence");
String click_for_more_options = resword.getString("click_for_more_options");
String schedule = resword.getString("schedule");
String view = resword.getString("view") + "/" + resword.getString("enter_data");
String edit = resword.getString("edit");
String remove = resword.getString("remove");
String occurrence_x_of = resword.getString("ocurrence");
String subjectText = resword.getString("subject");
String eventText = resword.getString("event");
String status = resword.getString("status");
StudyEventBean defaultEvent = studyEvents.get(0);
String studySubjectLabel = studySubject.getLabel();
Status eventSysStatus = studySubject.getStatus();
Integer studyEventsSize = studyEvents.size();
eventDiv.td(0).styleClass(tableHeaderRowLeftStyleClass).colspan("2").close();
eventDiv.append(subjectText).append(": ").append(studySubjectLabel).br();
eventDiv.append(eventText).append(": ").append(sed.getName()).br();
eventDiv.tdEnd();
eventDiv.td(0).styleClass(tableHeaderRowLeftStyleClass).align("right").colspan("3").close();
divCloseRepeatinglinkBuilder(eventDiv, studySubjectLabel, rowCount, studyEvents, sed);
eventDiv.br();
if (eventSysStatus != Status.DELETED && eventSysStatus != Status.AUTO_DELETED && studyBean.getStatus() == Status.AVAILABLE) {
eventDiv.span().styleClass("font-weight: normal;").close();
eventDiv.ahref("CreateNewStudyEvent?studySubjectId=" + studySubject.getId() + "&studyEventDefinition=" + sed.getId(), add_another_occurrence);
}
eventDiv.nbsp().nbsp().nbsp();
for (int i = 1; i <= studyEventsSize; i++) {
eventDiv.ahref("javascript:StatusBoxSkip('" + studySubjectLabel + "_" + sed.getId() + "_" + rowCount + "'," + studyEventsSize + "," + i + ");", String.valueOf(i));
if (i < studyEventsSize) {
eventDiv.append("|");
}
}
eventDiv.spanEnd();
eventDiv.tdEnd().trEnd(0);
eventDiv.tr(0).close();
// <td>...</td>
eventDiv.td(0).id("Scroll_off_" + studySubjectLabel + "_" + sed.getId() + "_" + rowCount + "_back").styleClass("statusbox_scroll_L_dis").width("20").close();
eventDiv.img().src("images/arrow_status_back_dis.gif").border("0").close();
eventDiv.tdEnd();
// <td>...</td>
eventDiv.td(0).id("Scroll_on_" + studySubjectLabel + "_" + sed.getId() + "_" + rowCount + "_back").styleClass("statusbox_scroll_L").width("20").style("display: none;").close();
// <div>...</div>
eventDiv.div().id("bt_Scroll_Event_" + studySubjectLabel + "_" + sed.getId() + "_" + rowCount + "_back").style("display: none;").close();
eventDiv.a().href("javascript:StatusBoxBack('" + studySubjectLabel + "_" + sed.getId() + "_" + rowCount + "'," + studyEventsSize + ");").close();
eventDiv.img().src("images/arrow_status_back.gif").border("0").close();
eventDiv.aEnd();
eventDiv.divEnd();
// <div>...</div>
eventDiv.div().id("bt_Scroll_Event_" + studySubjectLabel + "_" + sed.getId() + "_" + rowCount + "_back_dis").close();
eventDiv.img().src("images/arrow_status_back_dis.gif").border("0").close();
eventDiv.divEnd();
eventDiv.tdEnd();
for (int i = 0; i < studyEvents.size(); i++) {
StudyEventBean studyEventBean = studyEvents.get(i);
// <td>...</td>
eventDiv.td(0).id("Event_" + studySubjectLabel + "_" + sed.getId() + "_" + rowCount + "_" + (i + 1)).valign("top").width("180");
if (i + 1 > 3) {
eventDiv.style("display: none;");
}
eventDiv.close();
// <table>...</table>
eventDiv.table(0).border("0").cellpadding("0").cellspacing("0").close();
// <tr><td>...</td></tr>
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass(tableHeaderRowStyleClass).colspan("2").close();
eventDiv.bold().append(occurrence_x_of).append("#" + (i + 1) + " of " + studyEventsSize).br();
eventDiv.append(formatDate(studyEventBean.getDateStarted())).br();
eventDiv.append(status + ": " + studyEventBean.getSubjectEventStatus().getName());
eventDiv.boldEnd().tdEnd().trEnd(0);
// <tr><td><table>...</table></td></tr>
eventDiv.tr(0).id("Menu_on_" + studySubjectLabel + "_" + sed.getId() + "_" + rowCount + "_" + (i + 1)).styleClass("display: none").close();
eventDiv.td(0).colspan("2").close();
eventDiv.table(0).border("0").cellpadding("0").cellspacing("0").close();
linksDivBuilder(eventDiv, subject, rowCount, studyEvents, sed, studySubject, studyEventBean);
eventDiv.tableEnd(0).tdEnd().trEnd(0);
eventDiv.tableEnd(0);
eventDiv.tdEnd();
}
// <td>...</td>
eventDiv.td(0).id("Scroll_off_" + studySubjectLabel + "_" + sed.getId() + "_" + rowCount + "_next").styleClass("statusbox_scroll_R_dis").width("20").close();
eventDiv.img().src("images/arrow_status_next_dis.gif").border("0").close();
eventDiv.tdEnd();
// <td>...</td>
eventDiv.td(0).id("Scroll_on_" + studySubjectLabel + "_" + sed.getId() + "_" + rowCount + "_next").styleClass("statusbox_scroll_R").width("20").style("display: none;").close();
// <div>...</div>
eventDiv.div().id("bt_Scroll_Event_" + studySubjectLabel + "_" + sed.getId() + "_" + rowCount + "_next").close();
eventDiv.a().href("javascript:StatusBoxNext('" + studySubjectLabel + "_" + sed.getId() + "_" + rowCount + "'," + studyEventsSize + ");").close();
eventDiv.img().src("images/arrow_status_next.gif").border("0").close();
eventDiv.aEnd();
eventDiv.divEnd();
// <div>...</div>
eventDiv.div().id("bt_Scroll_Event_" + studySubjectLabel + "_" + sed.getId() + "_" + rowCount + "_next_dis").style("display: none;").close();
eventDiv.img().src("images/arrow_status_next_dis.gif").border("0").close();
eventDiv.divEnd();
eventDiv.tdEnd().trEnd(0);
eventDiv.tr(0).id("Menu_off_" + studySubjectLabel + "_" + sed.getId() + "_" + rowCount).style("").close();
eventDiv.td(0).styleClass("table_cell_left").colspan(String.valueOf(studyEventsSize)).close().append("<i>").append(click_for_more_options).append("</i>").tdEnd();
eventDiv.trEnd(0);
eventDiv.tableEnd(0);
eventDiv.divEnd().divEnd().divEnd().divEnd().divEnd().divEnd().divEnd().divEnd().divEnd().divEnd().divEnd();
repeatingIconLinkBuilder(eventDiv, studySubjectLabel, rowCount, studyEvents, sed);
}
use of org.akaza.openclinica.bean.core.Status in project OpenClinica by OpenClinica.
the class ListDiscNotesSubjectTableFactory method singleEventDivBuilder.
private void singleEventDivBuilder(HtmlBuilder eventDiv, SubjectBean subject, Integer rowCount, List<StudyEventBean> studyEvents, StudyEventDefinitionBean sed, StudySubjectBean studySubject) {
String tableHeaderRowStyleClass = "table_header_row";
String tableHeaderRowLeftStyleClass = "table_header_row_left";
String add_another_occurrence = resword.getString("add_another_occurrence");
String click_for_more_options = resword.getString("click_for_more_options");
String schedule = resword.getString("schedule");
String view = resword.getString("view") + "/" + resword.getString("enter_data");
String edit = resword.getString("edit");
String remove = resword.getString("remove");
String occurrence_x_of = resword.getString("ocurrence");
String subjectText = resword.getString("subject");
String eventText = resword.getString("event");
String status = resword.getString("status");
SubjectEventStatus eventStatus = studyEvents.size() == 0 ? SubjectEventStatus.NOT_SCHEDULED : studyEvents.get(0).getSubjectEventStatus();
String studyEventName = studyEvents.size() == 0 ? "" : studyEvents.get(0).getName();
String studyEventId = studyEvents.size() == 0 ? "" : String.valueOf(studyEvents.get(0).getId());
Status eventSysStatus = studySubject.getStatus();
String studySubjectLabel = studySubject.getLabel();
eventDiv.td(0).styleClass(tableHeaderRowLeftStyleClass).close();
eventDiv.append(subjectText).append(": ").append(studySubjectLabel).br();
eventDiv.append(eventText).append(": ").append(sed.getName()).br();
if (!sed.isRepeating()) {
eventDiv.append(resword.getString("status")).append(":").append(eventStatus.getName()).br();
eventDiv.tdEnd();
eventDiv.td(0).styleClass(tableHeaderRowLeftStyleClass).align("right").close();
linkBuilder(eventDiv, studySubjectLabel, rowCount, studyEvents, sed);
eventDiv.tdEnd();
} else {
eventDiv.tdEnd();
eventDiv.td(0).styleClass(tableHeaderRowLeftStyleClass).align("right").close();
linkBuilder(eventDiv, studySubjectLabel, rowCount, studyEvents, sed);
eventDiv.tdEnd();
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass(tableHeaderRowStyleClass).colspan("2").close();
eventDiv.bold().append(occurrence_x_of).append("#1 of 1").br();
if (studyEvents.size() > 0) {
eventDiv.append(formatDate(studyEvents.get(0).getDateStarted())).br();
eventDiv.append(status + " : " + studyEvents.get(0).getSubjectEventStatus().getName());
} else {
eventDiv.append(status + " : " + SubjectEventStatus.NOT_SCHEDULED.getName());
}
eventDiv.boldEnd().tdEnd().trEnd(0);
if (eventStatus != SubjectEventStatus.NOT_SCHEDULED && eventSysStatus != Status.DELETED && eventSysStatus != Status.AUTO_DELETED) {
eventDiv.tr(0).close().td(0).styleClass("table_cell_left").close();
eventDiv.ahref("CreateNewStudyEvent?studySubjectId=" + studySubject.getId() + "&studyEventDefinition=" + sed.getId(), add_another_occurrence);
eventDiv.tdEnd().trEnd(0);
}
}
eventDiv.trEnd(0);
eventDiv.tr(0).id("Menu_off_" + studySubjectLabel + "_" + sed.getId() + "_" + rowCount).style("display: all").close();
eventDiv.td(0).styleClass("table_cell_left").colspan("2").close().append("<i>").append(click_for_more_options).append("</i>").tdEnd();
eventDiv.trEnd(0);
eventDiv.tr(0).id("Menu_on_" + studySubjectLabel + "_" + sed.getId() + "_" + rowCount).style("display: none").close();
eventDiv.td(0).colspan("2").close();
eventDiv.table(0).border("0").cellpadding("0").cellspacing("0").close();
if (eventSysStatus.getId() == Status.AVAILABLE.getId() || eventSysStatus == Status.SIGNED) {
if (eventStatus == SubjectEventStatus.NOT_SCHEDULED && currentRole.getRole() != Role.MONITOR) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
createNewStudyEventLinkBuilder(eventDiv, studySubject.getId(), sed, schedule);
eventDiv.tdEnd().trEnd(0);
} else if (eventStatus == SubjectEventStatus.COMPLETED) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
enterDataForStudyEventLinkBuilder(eventDiv, studyEventId, view);
eventDiv.tdEnd().trEnd(0);
if ((currentRole.getRole() == Role.STUDYDIRECTOR || currentUser.isSysAdmin()) && studyBean.getStatus() == Status.AVAILABLE) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
updateStudyEventLinkBuilder(eventDiv, studySubject.getId(), studyEventId, edit);
eventDiv.tdEnd().trEnd(0);
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
removeStudyEventLinkBuilder(eventDiv, studySubject.getId(), studyEventId, remove);
eventDiv.tdEnd().trEnd(0);
}
} else if (eventStatus == SubjectEventStatus.LOCKED) {
eventDiv.tdEnd().trEnd(0);
if (currentRole.getRole() == Role.STUDYDIRECTOR || currentUser.isSysAdmin()) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
enterDataForStudyEventLinkBuilder(eventDiv, studyEventId, view);
eventDiv.tdEnd().trEnd(0);
if (studyBean.getStatus() == Status.AVAILABLE) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
removeStudyEventLinkBuilder(eventDiv, studySubject.getId(), studyEventId, remove);
eventDiv.tdEnd().trEnd(0);
}
}
} else {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left");
enterDataForStudyEventLinkBuilder(eventDiv, studyEventId, view);
eventDiv.tdEnd().trEnd(0);
if ((currentRole.getRole() == Role.STUDYDIRECTOR || currentUser.isSysAdmin()) && studyBean.getStatus() == Status.AVAILABLE) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
updateStudyEventLinkBuilder(eventDiv, studySubject.getId(), studyEventId, edit);
eventDiv.tdEnd().trEnd(0);
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
removeStudyEventLinkBuilder(eventDiv, studySubject.getId(), studyEventId, remove);
eventDiv.tdEnd().trEnd(0);
}
}
}
if (eventSysStatus == Status.DELETED || eventSysStatus == Status.AUTO_DELETED) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
enterDataForStudyEventLinkBuilder(eventDiv, studyEventId, view);
eventDiv.tdEnd().trEnd(0);
}
eventDiv.tableEnd(0).tdEnd().trEnd(0);
eventDiv.tableEnd(0);
eventDiv.divEnd().divEnd().divEnd().divEnd().divEnd().divEnd().divEnd().divEnd().divEnd().divEnd().divEnd();
iconLinkBuilder(eventDiv, studySubjectLabel, rowCount, studyEvents, sed);
}
use of org.akaza.openclinica.bean.core.Status in project OpenClinica by OpenClinica.
the class ListDiscNotesForCRFTableFactory method singleEventDivBuilder.
private void singleEventDivBuilder(HtmlBuilder eventDiv, SubjectBean subject, Integer rowCount, List<StudyEventBean> studyEvents, StudyEventDefinitionBean sed, StudySubjectBean studySubject) {
String tableHeaderRowLeftStyleClass = "table_header_row_left";
String click_for_more_options = resword.getString("click_for_more_options");
String schedule = resword.getString("schedule");
String view = resword.getString("view") + "/" + resword.getString("enter_data");
String edit = resword.getString("edit");
;
String remove = resword.getString("remove");
;
String subjectText = resword.getString("subject");
;
String eventText = resword.getString("event");
;
SubjectEventStatus eventStatus = studyEvents.size() == 0 ? SubjectEventStatus.NOT_SCHEDULED : studyEvents.get(0).getSubjectEventStatus();
// String studyEventName = studyEvents.size() == 0 ? "" :
// studyEvents.get(0).getName();
String studyEventId = studyEvents.size() == 0 ? "" : String.valueOf(studyEvents.get(0).getId());
Status eventSysStatus = studySubject.getStatus();
String studySubjectLabel = studySubject.getLabel();
eventDiv.td(0).styleClass(tableHeaderRowLeftStyleClass).close();
eventDiv.append(subjectText).append(": ").append(studySubjectLabel).br();
eventDiv.append(eventText).append(": ").append(sed.getName()).br();
eventDiv.append("Status").append(":").append(eventStatus.getName()).br();
eventDiv.tdEnd();
eventDiv.td(0).styleClass(tableHeaderRowLeftStyleClass).align("right").close();
linkBuilder(eventDiv, studySubjectLabel, rowCount, studyEvents, sed);
eventDiv.tdEnd();
eventDiv.trEnd(0);
eventDiv.tr(0).id("Menu_off_" + studySubjectLabel + "_" + sed.getId() + "_" + rowCount).style("display: all").close();
eventDiv.td(0).styleClass("table_cell_left").colspan("2").close().append("<i>").append(click_for_more_options).append("</i>").tdEnd();
eventDiv.trEnd(0);
eventDiv.tr(0).id("Menu_on_" + studySubjectLabel + "_" + sed.getId() + "_" + rowCount).style("display: none").close();
eventDiv.td(0).colspan("2").close();
eventDiv.table(0).border("0").cellpadding("0").cellspacing("0").width("100%").close();
if (eventSysStatus.getId() == Status.AVAILABLE.getId() || eventSysStatus == Status.SIGNED) {
if (eventStatus == SubjectEventStatus.NOT_SCHEDULED && currentRole.getRole() != Role.MONITOR) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
createNewStudyEventLinkBuilder(eventDiv, studySubject.getId(), sed, schedule);
eventDiv.tdEnd().trEnd(0);
} else if (eventStatus == SubjectEventStatus.COMPLETED) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
enterDataForStudyEventLinkBuilder(eventDiv, studyEventId, view);
eventDiv.tdEnd().trEnd(0);
if ((currentRole.getRole() == Role.STUDYDIRECTOR || currentUser.isSysAdmin()) && studyBean.getStatus() == Status.AVAILABLE) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
updateStudyEventLinkBuilder(eventDiv, studySubject.getId(), studyEventId, edit);
eventDiv.tdEnd().trEnd(0);
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
removeStudyEventLinkBuilder(eventDiv, studySubject.getId(), studyEventId, remove);
eventDiv.tdEnd().trEnd(0);
}
} else if (eventStatus == SubjectEventStatus.LOCKED) {
eventDiv.tdEnd().trEnd(0);
if (currentRole.getRole() == Role.STUDYDIRECTOR || currentUser.isSysAdmin()) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
enterDataForStudyEventLinkBuilder(eventDiv, studyEventId, view);
eventDiv.tdEnd().trEnd(0);
if (studyBean.getStatus() == Status.AVAILABLE) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
removeStudyEventLinkBuilder(eventDiv, studySubject.getId(), studyEventId, remove);
eventDiv.tdEnd().trEnd(0);
}
}
} else {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
enterDataForStudyEventLinkBuilder(eventDiv, studyEventId, view);
eventDiv.tdEnd().trEnd(0);
if ((currentRole.getRole() == Role.STUDYDIRECTOR || currentUser.isSysAdmin()) && studyBean.getStatus() == Status.AVAILABLE) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
updateStudyEventLinkBuilder(eventDiv, studySubject.getId(), studyEventId, edit);
eventDiv.tdEnd().trEnd(0);
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
removeStudyEventLinkBuilder(eventDiv, studySubject.getId(), studyEventId, remove);
eventDiv.tdEnd().trEnd(0);
}
}
}
if (eventSysStatus == Status.DELETED || eventSysStatus == Status.AUTO_DELETED) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
enterDataForStudyEventLinkBuilder(eventDiv, studyEventId, view);
eventDiv.tdEnd().trEnd(0);
}
eventDiv.tableEnd(0).tdEnd().trEnd(0);
eventDiv.tableEnd(0);
eventDiv.divEnd().divEnd().divEnd().divEnd().divEnd().divEnd().divEnd().divEnd().divEnd().divEnd().divEnd();
iconLinkBuilder(eventDiv, studySubjectLabel, rowCount, studyEvents, sed);
}
use of org.akaza.openclinica.bean.core.Status in project OpenClinica by OpenClinica.
the class ListStudySubjectTableFactory method linksDivBuilder.
private void linksDivBuilder(HtmlBuilder eventDiv, SubjectBean subject, Integer rowCount, List<StudyEventBean> studyEvents, StudyEventDefinitionBean sed, StudySubjectBean studySubject, StudyEventBean currentEvent) {
Status eventSysStatus = studySubject.getStatus();
SubjectEventStatus eventStatus = currentEvent.getSubjectEventStatus();
String studyEventId = String.valueOf(currentEvent.getId());
String view = resword.getString("view") + "/" + resword.getString("enter_data");
String edit = resword.getString("edit");
String remove = resword.getString("remove");
if (eventSysStatus.getId() == Status.AVAILABLE.getId() || eventSysStatus == Status.SIGNED) {
if (eventStatus == SubjectEventStatus.COMPLETED) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell").close();
enterDataForStudyEventLinkBuilder(eventDiv, studyEventId, view);
eventDiv.tdEnd().trEnd(0);
if ((currentRole.getRole() == Role.STUDYDIRECTOR || currentUser.isSysAdmin()) && studyBean.getStatus() == Status.AVAILABLE) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell").close();
updateStudyEventLinkBuilder(eventDiv, studySubject.getId(), studyEventId, edit);
eventDiv.tdEnd().trEnd(0);
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell").close();
removeStudyEventLinkBuilder(eventDiv, studySubject.getId(), studyEventId, remove);
eventDiv.tdEnd().trEnd(0);
}
} else if (eventStatus == SubjectEventStatus.LOCKED) {
if (currentRole.getRole() == Role.STUDYDIRECTOR || currentUser.isSysAdmin()) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell").close();
enterDataForStudyEventLinkBuilder(eventDiv, studyEventId, view);
eventDiv.tdEnd().trEnd(0);
if (studyBean.getStatus() == Status.AVAILABLE) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell").close();
removeStudyEventLinkBuilder(eventDiv, studySubject.getId(), studyEventId, remove);
eventDiv.tdEnd().trEnd(0);
}
}
} else {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left");
enterDataForStudyEventLinkBuilder(eventDiv, studyEventId, view);
eventDiv.tdEnd().trEnd(0);
if ((currentRole.getRole() == Role.STUDYDIRECTOR || currentUser.isSysAdmin()) && studyBean.getStatus() == Status.AVAILABLE) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
updateStudyEventLinkBuilder(eventDiv, studySubject.getId(), studyEventId, edit);
eventDiv.tdEnd().trEnd(0);
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell_left").close();
removeStudyEventLinkBuilder(eventDiv, studySubject.getId(), studyEventId, remove);
eventDiv.tdEnd().trEnd(0);
}
}
}
if (eventSysStatus == Status.DELETED || eventSysStatus == Status.AUTO_DELETED) {
eventDiv.tr(0).valign("top").close();
eventDiv.td(0).styleClass("table_cell").close();
enterDataForStudyEventLinkBuilder(eventDiv, studyEventId, view);
eventDiv.tdEnd().trEnd(0);
}
}
use of org.akaza.openclinica.bean.core.Status in project OpenClinica by OpenClinica.
the class MarkEventCRFCompleteServlet method processRequest.
/*
* (non-Javadoc)
*
* @see org.akaza.openclinica.control.core.SecureController#processRequest()
*/
@Override
protected void processRequest() throws Exception {
// FormDiscrepancyNotes discNotes =
// (FormDiscrepancyNotes)session.getAttribute(AddNewSubjectServlet.
// FORM_DISCREPANCY_NOTES_NAME);
getEventCRFBean();
getEventDefinitionCRFBean();
DataEntryStage stage = ecb.getStage();
request.setAttribute(TableOfContentsServlet.INPUT_EVENT_CRF_BEAN, ecb);
// Page errorPage = Page.TABLE_OF_CONTENTS_SERVLET;
Page errorPage = Page.LIST_STUDY_SUBJECTS_SERVLET;
if (stage.equals(DataEntryStage.UNCOMPLETED) || stage.equals(DataEntryStage.DOUBLE_DATA_ENTRY_COMPLETE) || stage.equals(DataEntryStage.LOCKED)) {
throw new InconsistentStateException(errorPage, respage.getString("not_mark_CRF_complete1"));
}
if (stage.equals(DataEntryStage.INITIAL_DATA_ENTRY_COMPLETE) || stage.equals(DataEntryStage.DOUBLE_DATA_ENTRY)) {
if (!edcb.isDoubleEntry()) {
throw new InconsistentStateException(errorPage, respage.getString("not_mark_CRF_complete2"));
}
}
if (!isEachRequiredFieldFillout()) {
throw new InconsistentStateException(errorPage, respage.getString("not_mark_CRF_complete4"));
}
if (ecb.getInterviewerName().trim().equals("")) {
throw new InconsistentStateException(errorPage, respage.getString("not_mark_CRF_complete5"));
}
if (!fp.isSubmitted()) {
DisplayTableOfContentsBean toc = TableOfContentsServlet.getDisplayBean(ecb, sm.getDataSource(), currentStudy);
toc = TableOfContentsServlet.getDisplayBeanWithShownSections(sm.getDataSource(), toc, (DynamicsMetadataService) SpringServletAccess.getApplicationContext(getServletContext()).getBean("dynamicsMetadataService"));
request.setAttribute(BEAN_DISPLAY, toc);
resetPanel();
panel.setStudyInfoShown(false);
panel.setOrderedData(true);
setToPanel(resword.getString("subject"), toc.getStudySubject().getLabel());
setToPanel(resword.getString("study_event_definition"), toc.getStudyEventDefinition().getName());
StudyEventBean seb = toc.getStudyEvent();
setToPanel(resword.getString("location"), seb.getLocation());
setToPanel(resword.getString("start_date"), seb.getDateStarted().toString());
setToPanel(resword.getString("end_date"), seb.getDateEnded().toString());
setToPanel(resword.getString("CRF"), toc.getCrf().getName());
setToPanel(resword.getString("CRF_version"), toc.getCrfVersion().getName());
forwardPage(Page.MARK_EVENT_CRF_COMPLETE);
} else {
boolean markComplete = fp.getString(INPUT_MARK_COMPLETE).equals(VALUE_YES);
if (markComplete) {
Status newStatus = ecb.getStatus();
boolean ide = true;
if (stage.equals(DataEntryStage.INITIAL_DATA_ENTRY) && edcb.isDoubleEntry()) {
newStatus = Status.PENDING;
ecb.setUpdaterId(ub.getId());
ecb.setUpdatedDate(new Date());
ecb.setDateCompleted(new Date());
} else if (stage.equals(DataEntryStage.INITIAL_DATA_ENTRY) && !edcb.isDoubleEntry()) {
newStatus = Status.UNAVAILABLE;
ecb.setUpdaterId(ub.getId());
ecb.setUpdatedDate(new Date());
ecb.setDateCompleted(new Date());
ecb.setDateValidateCompleted(new Date());
} else if (stage.equals(DataEntryStage.INITIAL_DATA_ENTRY_COMPLETE) || stage.equals(DataEntryStage.DOUBLE_DATA_ENTRY)) {
newStatus = Status.UNAVAILABLE;
ecb.setDateValidateCompleted(new Date());
ide = false;
}
ecb.setStatus(newStatus);
ecb = (EventCRFBean) ecdao.update(ecb);
ecdao.markComplete(ecb, ide);
ItemDataDAO iddao = new ItemDataDAO(sm.getDataSource());
iddao.updateStatusByEventCRF(ecb, newStatus);
// change status for event
StudyEventDAO sedao = new StudyEventDAO(sm.getDataSource());
StudyEventBean seb = (StudyEventBean) sedao.findByPK(ecb.getStudyEventId());
seb.setUpdatedDate(new Date());
seb.setUpdater(ub);
EventDefinitionCRFDAO edcdao = new EventDefinitionCRFDAO(sm.getDataSource());
ArrayList allCRFs = ecdao.findAllByStudyEvent(seb);
ArrayList allEDCs = edcdao.findAllActiveByEventDefinitionId(seb.getStudyEventDefinitionId());
boolean eventCompleted = true;
for (int i = 0; i < allCRFs.size(); i++) {
EventCRFBean ec = (EventCRFBean) allCRFs.get(i);
if (!ec.getStatus().equals(Status.UNAVAILABLE)) {
eventCompleted = false;
break;
}
}
if (eventCompleted && allCRFs.size() >= allEDCs.size()) {
seb.setSubjectEventStatus(SubjectEventStatus.COMPLETED);
}
seb = (StudyEventBean) sedao.update(seb);
addPageMessage(respage.getString("event_CRF_marked_complete"));
request.setAttribute(EnterDataForStudyEventServlet.INPUT_EVENT_ID, String.valueOf(ecb.getStudyEventId()));
forwardPage(Page.ENTER_DATA_FOR_STUDY_EVENT_SERVLET);
} else {
request.setAttribute(DataEntryServlet.INPUT_IGNORE_PARAMETERS, Boolean.TRUE);
addPageMessage(respage.getString("event_CRF_not_marked_complete"));
forwardPage(errorPage);
}
}
}
Aggregations