use of fi.otavanopisto.pyramus.dao.reports.ReportContextDAO in project pyramus by otavanopisto.
the class EditReportJSONRequestController method process.
/**
* Processes the request to edit a report.
*
* @param requestContext The JSON request context
*/
public void process(JSONRequestContext requestContext) {
ReportDAO reportDAO = DAOFactory.getInstance().getReportDAO();
ReportCategoryDAO categoryDAO = DAOFactory.getInstance().getReportCategoryDAO();
ReportContextDAO reportContextDAO = DAOFactory.getInstance().getReportContextDAO();
Long reportId = requestContext.getLong("reportId");
Report report = reportDAO.findById(reportId);
Long reportCategoryId = requestContext.getLong("category");
ReportCategory category = reportCategoryId == null ? null : categoryDAO.findById(reportCategoryId);
String name = requestContext.getString("name");
reportDAO.update(report, name, category);
for (ReportContextType contextType : ReportContextType.values()) {
ReportContext context = reportContextDAO.findByReportAndContextType(report, contextType);
boolean selected = requestContext.getBoolean("context." + contextType.toString());
if (selected && context == null)
reportContextDAO.create(report, contextType);
else if (!selected && context != null)
reportContextDAO.delete(context);
}
requestContext.setRedirectURL(requestContext.getReferer(true));
}
use of fi.otavanopisto.pyramus.dao.reports.ReportContextDAO in project pyramus by otavanopisto.
the class ImportReportViewController method processForm.
@Override
public void processForm(PageRequestContext requestContext) {
ReportDAO reportDAO = DAOFactory.getInstance().getReportDAO();
ReportCategoryDAO categoryDAO = DAOFactory.getInstance().getReportCategoryDAO();
ReportContextDAO reportContextDAO = DAOFactory.getInstance().getReportContextDAO();
List<Report> reports = reportDAO.listAll();
Collections.sort(reports, new StringAttributeComparator("getName"));
JSONArray contextTypesJSON = new JSONArray();
List<String> contextTypes = new ArrayList<>();
for (ReportContextType contextType : ReportContextType.values()) {
contextTypes.add(contextType.toString());
contextTypesJSON.add(contextType.toString());
}
JSONArray reportsJSON = new JSONArray();
for (Report report : reports) {
JSONObject rObj = new JSONObject();
List<ReportContext> contexts = reportContextDAO.listByReport(report);
JSONArray rCtxs = new JSONArray();
for (ReportContext ctx : contexts) {
rCtxs.add(ctx.getContext().toString());
}
rObj.put("id", report.getId().toString());
rObj.put("name", report.getName());
rObj.put("category", report.getCategory() != null ? report.getCategory().getId() : "");
rObj.put("contexts", rCtxs);
reportsJSON.add(rObj);
}
List<ReportCategory> categories = categoryDAO.listAll();
Collections.sort(categories, new Comparator<ReportCategory>() {
public int compare(ReportCategory o1, ReportCategory o2) {
if (o1.getIndexColumn() == o2.getIndexColumn() || o1.getIndexColumn().equals(o2.getIndexColumn())) {
return o1.getName() == null ? -1 : o2.getName() == null ? 1 : o1.getName().compareTo(o2.getName());
} else {
return o1.getIndexColumn() == null ? -1 : o2.getIndexColumn() == null ? 1 : o1.getIndexColumn().compareTo(o2.getIndexColumn());
}
}
});
setJsDataVariable(requestContext, "reports", reportsJSON.toString());
setJsDataVariable(requestContext, "contextTypes", contextTypesJSON.toString());
requestContext.getRequest().setAttribute("reports", reports);
requestContext.getRequest().setAttribute("reportCategories", categories);
requestContext.getRequest().setAttribute("contextTypes", contextTypes);
requestContext.setIncludeJSP("/templates/system/importreport.jsp");
}
use of fi.otavanopisto.pyramus.dao.reports.ReportContextDAO in project pyramus by otavanopisto.
the class ViewReportViewController method handleContextParameters.
private void handleContextParameters(PageRequestContext pageRequestContext, Report report) {
ReportContextDAO reportContextDAO = DAOFactory.getInstance().getReportContextDAO();
List<ReportContext> contexts = reportContextDAO.listByReport(report);
List<String> contextStrs = new ArrayList<>();
for (ReportContext ctx : contexts) {
contextStrs.add(ctx.getContext().toString());
switch(ctx.getContext()) {
case Student:
Long studentId = pageRequestContext.getLong("studentId");
if (studentId != null)
pageRequestContext.getRequest().setAttribute("studentId", studentId);
break;
case Course:
Long courseId = pageRequestContext.getLong("courseId");
if (courseId != null)
pageRequestContext.getRequest().setAttribute("courseId", courseId);
break;
case Common:
break;
}
}
Long staffMemberId = pageRequestContext.getLong("staffMemberId");
if (staffMemberId != null) {
pageRequestContext.getRequest().setAttribute("staffMemberId", staffMemberId);
}
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date startDate = pageRequestContext.getDate("startDate");
if (startDate != null)
pageRequestContext.getRequest().setAttribute("startDate", df.format(startDate));
Date endDate = pageRequestContext.getDate("endDate");
if (endDate != null)
pageRequestContext.getRequest().setAttribute("endDate", df.format(endDate));
pageRequestContext.getRequest().setAttribute("reportContexts", contextStrs);
}
use of fi.otavanopisto.pyramus.dao.reports.ReportContextDAO in project pyramus by otavanopisto.
the class EditReportViewController method process.
/**
* Processes the page request by including the corresponding JSP page to the response.
*
* @param pageRequestContext Page request context
*/
public void process(PageRequestContext pageRequestContext) {
ReportDAO reportDAO = DAOFactory.getInstance().getReportDAO();
ReportCategoryDAO categoryDAO = DAOFactory.getInstance().getReportCategoryDAO();
ReportContextDAO reportContextDAO = DAOFactory.getInstance().getReportContextDAO();
Long reportId = pageRequestContext.getLong("reportId");
Report report = reportDAO.findById(reportId);
List<ReportCategory> categories = categoryDAO.listAll();
List<ReportContext> reportContexts = reportContextDAO.listByReport(report);
Collections.sort(categories, new Comparator<ReportCategory>() {
public int compare(ReportCategory o1, ReportCategory o2) {
if (o1.getIndexColumn() == o2.getIndexColumn() || o1.getIndexColumn().equals(o2.getIndexColumn())) {
return o1.getName() == null ? -1 : o2.getName() == null ? 1 : o1.getName().compareTo(o2.getName());
} else {
return o1.getIndexColumn() == null ? -1 : o2.getIndexColumn() == null ? 1 : o1.getIndexColumn().compareTo(o2.getIndexColumn());
}
}
});
Map<String, Boolean> selectedContexts = new HashMap<>();
for (ReportContext context : reportContexts) selectedContexts.put(context.getContext().toString(), Boolean.TRUE);
List<String> contextTypes = new ArrayList<>();
for (ReportContextType contextType : ReportContextType.values()) contextTypes.add(contextType.toString());
pageRequestContext.getRequest().setAttribute("report", report);
pageRequestContext.getRequest().setAttribute("reportCategories", categories);
pageRequestContext.getRequest().setAttribute("reportContexts", selectedContexts);
pageRequestContext.getRequest().setAttribute("contextTypes", contextTypes);
pageRequestContext.setIncludeJSP("/templates/reports/editreport.jsp");
}
use of fi.otavanopisto.pyramus.dao.reports.ReportContextDAO in project pyramus by otavanopisto.
the class ViewReportParametersViewController method handleContextParameters.
private void handleContextParameters(PageRequestContext pageRequestContext, Report report, StringBuilder urlBuilder) {
ReportContextDAO reportContextDAO = DAOFactory.getInstance().getReportContextDAO();
List<ReportContext> contexts = reportContextDAO.listByReport(report);
for (ReportContext ctx : contexts) {
switch(ctx.getContext()) {
case Student:
Long studentId = pageRequestContext.getLong("studentId");
if (studentId != null)
urlBuilder.append("&studentId=").append(studentId);
break;
case Course:
Long courseId = pageRequestContext.getLong("courseId");
if (courseId != null)
urlBuilder.append("&courseId=").append(courseId);
break;
case Common:
break;
}
}
Long staffMemberId = pageRequestContext.getLong("staffMemberId");
if (staffMemberId != null) {
urlBuilder.append("&staffMemberId=").append(staffMemberId);
}
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date startDate = pageRequestContext.getDateByFormat("startDate", "yyyy-MM-dd");
if (startDate != null)
urlBuilder.append("&startDate=").append(df.format(startDate));
Date endDate = pageRequestContext.getDateByFormat("endDate", "yyyy-MM-dd");
if (endDate != null)
urlBuilder.append("&endDate=").append(df.format(endDate));
}
Aggregations