Search in sources :

Example 6 with Page

use of org.akaza.openclinica.view.Page in project OpenClinica by OpenClinica.

the class AdministrativeEditingServlet method getServletPage.

// < ResourceBundleresexception,respage;
/*
     * (non-Javadoc)
     *
     * @see
     * org.akaza.openclinica.control.submit.DataEntryServlet#getServletPage()
     */
@Override
protected String getServletPage(HttpServletRequest request) {
    FormProcessor fp = new FormProcessor(request);
    String tabId = fp.getString("tab", true);
    String sectionId = fp.getString(DataEntryServlet.INPUT_SECTION_ID, true);
    String eventCRFId = fp.getString(INPUT_EVENT_CRF_ID, true);
    if (StringUtil.isBlank(sectionId) || StringUtil.isBlank(tabId)) {
        return Page.ADMIN_EDIT_SERVLET.getFileName();
    } else {
        Page target = Page.ADMIN_EDIT_SERVLET;
        String s = target.getFileName().trim();
        String url = null;
        if (s.contains("?")) {
            String[] t = s.split("\\?");
            String x = "";
            String y = t[0] + "?";
            if (t.length > 1) {
                if (t[1].contains("&")) {
                    String[] ts = t[1].split("&");
                    for (int i = 0; i < ts.length; ++i) {
                        if (ts[i].contains("eventCRFId=")) {
                            ts[i] = "eventCRFId=" + eventCRFId;
                            x += "e";
                        } else if (ts[i].contains("sectionId=")) {
                            ts[i] = "sectionId=" + sectionId;
                            x += "s";
                        } else if (ts[i].contains("tab=")) {
                            ts[i] = "tab=" + tabId;
                            x += "t";
                        }
                        y += ts[i] + "&";
                    }
                } else {
                    if (t[1].contains("eventCRFId=")) {
                        t[1] = "eventCRFId=" + eventCRFId;
                        x += "e";
                    } else if (t[1].contains("sectionId=")) {
                        t[1] = "sectionId=" + sectionId;
                        x += "s";
                    } else if (t[1].contains("tab=")) {
                        t[1] = "tab=" + tabId;
                        x += "t";
                    }
                    y += t[1] + "&";
                }
                if (x.length() < 3) {
                    if (!x.contains("e")) {
                        y += "eventCRFId=" + eventCRFId + "&";
                    }
                    if (!x.contains("s")) {
                        y += "sectionId=" + sectionId + "&";
                    }
                    if (!x.contains("t")) {
                        y += "tab=" + tabId + "&";
                    }
                }
                y = y.substring(0, y.length() - 1);
                //target.setFileName(y);
                url = y;
            } else {
                LOGGER.info("It's a wrong servlet page:" + s);
            }
        } else {
            //target.setFileName(target.getFileName() + "?eventCRFId=" + eventCRFId + "&sectionId=" + sectionId + "&tab=" + tabId);
            url = target.getFileName() + "?eventCRFId=" + eventCRFId + "&sectionId=" + sectionId + "&tab=" + tabId;
        }
        //target.setFileName(target.getFileName() + "?eventCRFId=" + eventCRFId + "&sectionId=" + sectionId + "&tab=" + tabId);
        return url;
    }
}
Also used : FormProcessor(org.akaza.openclinica.control.form.FormProcessor) Page(org.akaza.openclinica.view.Page)

Example 7 with Page

use of org.akaza.openclinica.view.Page in project OpenClinica by OpenClinica.

the class ShowFileServlet method processRequest.

@Override
public void processRequest() throws Exception {
    FormProcessor fp = new FormProcessor(request);
    int fileId = fp.getInt("fileId");
    int dsId = fp.getInt("datasetId");
    DatasetDAO dsdao = new DatasetDAO(sm.getDataSource());
    DatasetBean db = (DatasetBean) dsdao.findByPK(dsId);
    ArchivedDatasetFileDAO asdfdao = new ArchivedDatasetFileDAO(sm.getDataSource());
    ArchivedDatasetFileBean asdfBean = (ArchivedDatasetFileBean) asdfdao.findByPK(fileId);
    ArrayList newFileList = new ArrayList();
    newFileList.add(asdfBean);
    // request.setAttribute("filelist",newFileList);
    ArrayList filterRows = ArchivedDatasetFileRow.generateRowsFromBeans(newFileList);
    EntityBeanTable table = fp.getEntityBeanTable();
    String[] columns = { resword.getString("file_name"), resword.getString("run_time"), resword.getString("file_size"), resword.getString("created_date"), resword.getString("created_by") };
    table.setColumns(new ArrayList(Arrays.asList(columns)));
    table.hideColumnLink(0);
    table.hideColumnLink(1);
    table.hideColumnLink(2);
    table.hideColumnLink(3);
    table.hideColumnLink(4);
    // table.setQuery("ExportDataset?datasetId=" +db.getId(), new
    // HashMap());
    // trying to continue...
    // session.setAttribute("newDataset",db);
    request.setAttribute("dataset", db);
    request.setAttribute("file", asdfBean);
    table.setRows(filterRows);
    table.computeDisplay();
    request.setAttribute("table", table);
    Page finalTarget = Page.EXPORT_DATA_CUSTOM;
    finalTarget.setFileName("/WEB-INF/jsp/extract/generateMetadataFile.jsp");
    forwardPage(finalTarget);
}
Also used : ArchivedDatasetFileDAO(org.akaza.openclinica.dao.extract.ArchivedDatasetFileDAO) FormProcessor(org.akaza.openclinica.control.form.FormProcessor) EntityBeanTable(org.akaza.openclinica.web.bean.EntityBeanTable) DatasetBean(org.akaza.openclinica.bean.extract.DatasetBean) ArrayList(java.util.ArrayList) Page(org.akaza.openclinica.view.Page) DatasetDAO(org.akaza.openclinica.dao.extract.DatasetDAO) ArchivedDatasetFileBean(org.akaza.openclinica.bean.extract.ArchivedDatasetFileBean)

Example 8 with Page

use of org.akaza.openclinica.view.Page in project OpenClinica by OpenClinica.

the class ResolveDiscrepancyServlet method processRequest.

/*
     * (non-Javadoc)
     *
     * @see org.akaza.openclinica.control.core.SecureController#processRequest()
     */
@Override
protected void processRequest() throws Exception {
    FormProcessor fp = new FormProcessor(request);
    int noteId = fp.getInt(INPUT_NOTE_ID);
    String module = (String) session.getAttribute("module");
    StudySubjectDAO studySubjectDAO = new StudySubjectDAO(sm.getDataSource());
    DiscrepancyNoteDAO dndao = new DiscrepancyNoteDAO(sm.getDataSource());
    dndao.setFetchMapping(true);
    // check that the note exists
    DiscrepancyNoteBean discrepancyNoteBean = (DiscrepancyNoteBean) dndao.findByPK(noteId);
    if (!discrepancyNoteBean.isActive()) {
        throw new InconsistentStateException(Page.MANAGE_STUDY_SERVLET, resexception.getString("you_are_trying_resolve_discrepancy_not_exist"));
    }
    // check that the note has not already been closed
    ArrayList children = dndao.findAllByParent(discrepancyNoteBean);
    discrepancyNoteBean.setChildren(children);
    // This logic has been reverted, issue-7459
    // if (parentNoteIsClosed(discrepancyNoteBean)) {
    // throw new InconsistentStateException(Page.VIEW_DISCREPANCY_NOTES_IN_STUDY_SERVLET, respage
    // .getString("the_discrepancy_choose_has_been_closed_resolved_create_new"));
    // }
    // all clear, send the user to the resolved screen
    String entityType = discrepancyNoteBean.getEntityType().toLowerCase();
    discrepancyNoteBean.setResStatus(ResolutionStatus.get(discrepancyNoteBean.getResolutionStatusId()));
    discrepancyNoteBean.setDisType(DiscrepancyNoteType.get(discrepancyNoteBean.getDiscrepancyNoteTypeId()));
    // View Study Events <<
    if (currentRole.getRole().equals(Role.MONITOR) && !"itemdata".equalsIgnoreCase(entityType) && !"eventcrf".equalsIgnoreCase(entityType)) {
        redirectMonitor(module, discrepancyNoteBean);
        return;
    }
    // If Study is Frozen or Locked
    if (currentStudy.getStatus().isFrozen() && !"itemdata".equalsIgnoreCase(entityType) && !"eventcrf".equalsIgnoreCase(entityType)) {
        redirectMonitor(module, discrepancyNoteBean);
        return;
    }
    boolean toView = false;
    boolean isCompleted = false;
    if ("itemdata".equalsIgnoreCase(entityType)) {
        ItemDataDAO iddao = new ItemDataDAO(sm.getDataSource());
        ItemDataBean idb = (ItemDataBean) iddao.findByPK(discrepancyNoteBean.getEntityId());
        EventCRFDAO ecdao = new EventCRFDAO(sm.getDataSource());
        EventCRFBean ecb = (EventCRFBean) ecdao.findByPK(idb.getEventCRFId());
        StudySubjectBean studySubjectBean = (StudySubjectBean) studySubjectDAO.findByPK(ecb.getStudySubjectId());
        discrepancyNoteBean.setSubjectId(studySubjectBean.getId());
        discrepancyNoteBean.setItemId(idb.getItemId());
        if (ecb.getStatus().equals(Status.UNAVAILABLE)) {
            isCompleted = true;
        }
        // we want to go to view note page if the note is
        toView = true;
    // for item data
    }
    // logger.info("set up pop up url: " + createNoteURL);
    // System.out.println("set up pop up url: " + createNoteURL);
    boolean goNext = prepareRequestForResolution(request, sm.getDataSource(), currentStudy, discrepancyNoteBean, isCompleted);
    Page p = getPageForForwarding(discrepancyNoteBean, isCompleted);
    // logger.info("found page for forwarding: " + p.getFileName());
    if (p == null) {
        throw new InconsistentStateException(Page.VIEW_DISCREPANCY_NOTES_IN_STUDY_SERVLET, resexception.getString("the_discrepancy_note_triying_resolve_has_invalid_type"));
    } else {
        if (p.getFileName().contains("?")) {
            if (!p.getFileName().contains("fromViewNotes=1")) {
                p.setFileName(p.getFileName() + "&fromViewNotes=1");
            }
        } else {
            p.setFileName(p.getFileName() + "?fromViewNotes=1");
        }
        String createNoteURL = CreateDiscrepancyNoteServlet.getAddChildURL(discrepancyNoteBean, ResolutionStatus.CLOSED, true);
        setPopUpURL(createNoteURL);
    }
    if (!goNext) {
        setPopUpURL("");
        addPageMessage(respage.getString("you_may_not_perform_admin_edit_on_CRF_not_completed_by_user"));
        p = Page.VIEW_DISCREPANCY_NOTES_IN_STUDY_SERVLET;
    }
    forwardPage(p);
}
Also used : DiscrepancyNoteDAO(org.akaza.openclinica.dao.managestudy.DiscrepancyNoteDAO) FormProcessor(org.akaza.openclinica.control.form.FormProcessor) ArrayList(java.util.ArrayList) Page(org.akaza.openclinica.view.Page) StudySubjectDAO(org.akaza.openclinica.dao.managestudy.StudySubjectDAO) InconsistentStateException(org.akaza.openclinica.web.InconsistentStateException) ItemDataDAO(org.akaza.openclinica.dao.submit.ItemDataDAO) EventCRFBean(org.akaza.openclinica.bean.submit.EventCRFBean) StudySubjectBean(org.akaza.openclinica.bean.managestudy.StudySubjectBean) DiscrepancyNoteBean(org.akaza.openclinica.bean.managestudy.DiscrepancyNoteBean) ItemDataBean(org.akaza.openclinica.bean.submit.ItemDataBean) EventCRFDAO(org.akaza.openclinica.dao.submit.EventCRFDAO)

Example 9 with Page

use of org.akaza.openclinica.view.Page in project OpenClinica by OpenClinica.

the class DoubleDataEntryServlet method getServletPage.

/*
     * (non-Javadoc)
     *
     * @see
     * org.akaza.openclinica.control.submit.DataEntryServlet#getServletPage()
     */
@Override
protected String getServletPage(HttpServletRequest request) {
    FormProcessor fp = new FormProcessor(request);
    String tabId = fp.getString("tab", true);
    String sectionId = fp.getString(DataEntryServlet.INPUT_SECTION_ID, true);
    String eventCRFId = fp.getString(INPUT_EVENT_CRF_ID, true);
    if (StringUtil.isBlank(sectionId) || StringUtil.isBlank(tabId)) {
        return Page.DOUBLE_DATA_ENTRY_SERVLET.getFileName();
    } else {
        Page target = Page.DOUBLE_DATA_ENTRY_SERVLET;
        return target.getFileName() + "?eventCRFId=" + eventCRFId + "&sectionId=" + sectionId + "&tab=" + tabId;
    // return target;
    }
}
Also used : FormProcessor(org.akaza.openclinica.control.form.FormProcessor) Page(org.akaza.openclinica.view.Page)

Example 10 with Page

use of org.akaza.openclinica.view.Page in project OpenClinica by OpenClinica.

the class SecureController method forwardPage.

/**
     * <P>
     * Forwards to a jsp page. Additions to the forwardPage() method involve checking the session for the bread crumb trail
     * and setting it, if necessary. Setting it here allows the developer to only have to update the
     * <code>BreadcrumbTrail</code> class.
     *
     * @param jspPage The page to go to.
     * @param checkTrail The command to check for, and set a trail in the session.
     */
protected void forwardPage(Page jspPage, boolean checkTrail) {
    Page page1 = Page.valueOf(jspPage.name());
    String temp;
    // YW 10-03-2007 <<
    response.setHeader("Cache-Control", "no-cache");
    response.setHeader("Pragma", "no-cache");
    response.setDateHeader("Expires", -1);
    response.setHeader("Cache-Control", "no-store");
    if (request.getAttribute(POP_UP_URL) == null) {
        request.setAttribute(POP_UP_URL, "");
    }
    try {
        // Added 01/19/2005 for breadcrumbs, tbh
        if (checkTrail) {
            BreadcrumbTrail bt = new BreadcrumbTrail();
            if (session != null) {
                // added bu jxu, fixed bug for log out
                /*    ArrayList trail = (ArrayList) session.getAttribute("trail");
                    if (trail == null) {
                        trail = bt.generateTrail(jspPage, request);
                    } else {
                        bt.setTrail(trail);
                        trail = bt.generateTrail(jspPage, request);
                    }
                    session.setAttribute("trail", trail);*/
                panel = (StudyInfoPanel) session.getAttribute(STUDY_INFO_PANEL);
                if (panel == null) {
                    panel = new StudyInfoPanel();
                    panel.setData(jspPage, session, request);
                } else {
                    panel.setData(jspPage, session, request);
                }
                session.setAttribute(STUDY_INFO_PANEL, panel);
            }
        // we are also using checkTrail to update the panel, tbh
        // 01/31/2005
        }
        temp = page1.getFileName();
        // above added 01/19/2005, tbh
        context.getRequestDispatcher(temp).forward(request, response);
    } catch (Exception se) {
        /*            if ("View Notes".equals(jspPage.getTitle())) {
                String viewNotesURL = jspPage.getFileName();
                if (viewNotesURL != null && viewNotesURL.contains("listNotes_p_=")) {
                    String[] ps = viewNotesURL.split("listNotes_p_=");
                    String t = ps[1].split("&")[0];
                    int p = t.length() > 0 ? Integer.valueOf(t).intValue() : -1;
                    if (p > 1) {
                        viewNotesURL = viewNotesURL.replace("listNotes_p_=" + p, "listNotes_p_=" + (p - 1));
                        //forwardPage(Page.setNewPage(viewNotesURL, "View Notes"));
                    	try {
							getServletContext().getRequestDispatcher(viewNotesURL).forward(request, response);
						} catch (ServletException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						} catch (IOException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}
                    } else if (p <= 0) {
                        forwardPage(Page.VIEW_DISCREPANCY_NOTES_IN_STUDY);
                    }
                }
            }
*/
        logger.error(se.getMessage(), se);
    } finally {
        page1 = null;
        jspPage = null;
        temp = null;
    }
}
Also used : Page(org.akaza.openclinica.view.Page) BreadcrumbTrail(org.akaza.openclinica.view.BreadcrumbTrail) StudyInfoPanel(org.akaza.openclinica.view.StudyInfoPanel) ServletException(javax.servlet.ServletException) OpenClinicaException(org.akaza.openclinica.exception.OpenClinicaException) MessagingException(javax.mail.MessagingException) MailException(org.springframework.mail.MailException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) InconsistentStateException(org.akaza.openclinica.web.InconsistentStateException) InsufficientPermissionException(org.akaza.openclinica.web.InsufficientPermissionException) SchedulerException(org.quartz.SchedulerException) MalformedURLException(java.net.MalformedURLException)

Aggregations

Page (org.akaza.openclinica.view.Page)11 FormProcessor (org.akaza.openclinica.control.form.FormProcessor)7 ArrayList (java.util.ArrayList)5 InconsistentStateException (org.akaza.openclinica.web.InconsistentStateException)4 ArchivedDatasetFileBean (org.akaza.openclinica.bean.extract.ArchivedDatasetFileBean)3 DatasetBean (org.akaza.openclinica.bean.extract.DatasetBean)3 ArchivedDatasetFileDAO (org.akaza.openclinica.dao.extract.ArchivedDatasetFileDAO)3 DatasetDAO (org.akaza.openclinica.dao.extract.DatasetDAO)3 InsufficientPermissionException (org.akaza.openclinica.web.InsufficientPermissionException)3 SchedulerException (org.quartz.SchedulerException)3 UnsupportedEncodingException (java.io.UnsupportedEncodingException)2 Date (java.util.Date)2 MessagingException (javax.mail.MessagingException)2 ServletException (javax.servlet.ServletException)2 StudyBean (org.akaza.openclinica.bean.managestudy.StudyBean)2 EventCRFBean (org.akaza.openclinica.bean.submit.EventCRFBean)2 StudyDAO (org.akaza.openclinica.dao.managestudy.StudyDAO)2 ItemDataDAO (org.akaza.openclinica.dao.submit.ItemDataDAO)2 OpenClinicaException (org.akaza.openclinica.exception.OpenClinicaException)2 EntityBeanTable (org.akaza.openclinica.web.bean.EntityBeanTable)2