@RequestMapping( value = "/jobs", method = {RequestMethod.GET}) public String visitJobListPage( @ModelAttribute("successMsg") final String successMsg, HttpServletRequest request, ModelMap model) { User user = (User) request.getSession().getAttribute("user"); try { if (user != null && user.getRole().equals("manager")) { List<DetailedJob> list = new ArrayList<DetailedJob>(); List<Job> jobs = JobsDao.instance.getAll(ORSKEY, user.getShortKey()); for (Job j : jobs) { DetailedJob dj = new DetailedJob(j); dj.setApplications( ORSKEY, user.getShortKey(), (ArrayList<Application>) ApplicationsDao.instance.getByJob(ORSKEY, user.getShortKey(), dj.get_jobId())); list.add(dj); } model.addAttribute("jobs", list); } else if (user != null && user.getRole().equals("reviewer")) { List<DetailedJob> list = new ArrayList<DetailedJob>(); List<Job> jobs = JobsDao.instance.getAssignedJobs(ORSKEY, user.getShortKey(), user.getDepartment()); for (Job j : jobs) { DetailedJob dj = new DetailedJob(j); dj.setApplications( ORSKEY, user.getShortKey(), (ArrayList<Application>) ApplicationsDao.instance.getByJob(ORSKEY, user.getShortKey(), dj.get_jobId())); list.add(dj); } model.addAttribute("jobs", list); } else { List<Job> list = JobsDao.instance.getOpenJobs(); model.addAttribute("jobs", list); } model.addAttribute("today", TODAY); model.addAttribute("successMsg", successMsg); } catch (Exception e) { e.printStackTrace(); model.addAttribute("errorMsg", e.getMessage()); return "error"; } return "jobs"; }
@RequestMapping(value = "/jobs/{id}") public String visitJobPage(@PathVariable String id, HttpServletRequest request, ModelMap model) { User user = (User) request.getSession().getAttribute("user"); try { DetailedJob dj = new DetailedJob(JobsDao.instance.getById(id)); if (user != null) { dj.setApplications( ORSKEY, user.getShortKey(), (ArrayList<Application>) ApplicationsDao.instance.getByJob(ORSKEY, user.getShortKey(), dj.get_jobId())); } model.addAttribute("job", dj); model.addAttribute("today", TODAY); return "jobDetails"; } catch (Exception e) { e.printStackTrace(); model.addAttribute("errorMsg", e.getMessage()); return "error"; } }
@RequestMapping( value = "/advSearchJob", method = {RequestMethod.POST}) public String doAdvSearch(HttpServletRequest request, ModelMap model) { String closingDateFrom = request.getParameter("closingDateFrom"); String closingDateTo = request.getParameter("closingDateTo"); String salaryFrom = request.getParameter("salaryFrom"); String salaryTo = request.getParameter("salaryTo"); String positionType = request.getParameter("positionType"); String location = request.getParameter("location"); String description = request.getParameter("description"); String status = request.getParameter("status"); String assignedTeam = request.getParameter("assignedTeam"); if (!validateSearchInput( closingDateFrom, closingDateTo, salaryFrom, salaryTo, positionType, location, description, status, assignedTeam)) { model.addAttribute("errorMsg", "Invalid form data"); return "advSearchJob"; } try { User user = (User) request.getSession().getAttribute("user"); if (user == null) { List<Job> list = JobsDao.instance.search( null, null, closingDateFrom, closingDateTo, salaryFrom, salaryTo, positionType, location, description, status, assignedTeam); model.addAttribute("jobs", list); } else { List<DetailedJob> list = new ArrayList<DetailedJob>(); List<Job> jobs = JobsDao.instance.search( ORSKEY, user.getShortKey(), closingDateFrom, closingDateTo, salaryFrom, salaryTo, positionType, location, description, status, assignedTeam); for (Job j : jobs) { DetailedJob dj = new DetailedJob(j); dj.setApplications( ORSKEY, user.getShortKey(), (ArrayList<Application>) ApplicationsDao.instance.getByJob(ORSKEY, user.getShortKey(), dj.get_jobId())); list.add(dj); } model.addAttribute("jobs", list); } return "jobs"; } catch (Exception e) { e.printStackTrace(); model.addAttribute("errorMsg", e.getMessage()); return "error"; } }