Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/main/java/com/health/config/SecurityConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public static BCryptPasswordEncoder passwordEncoder() {
"/check-deployment", "/training-resources/view-share/**", "/loadDistrictAndFileTypeByState/**",
"/loadStateAndFileTypeByDistrict/**", "/loadStateAndDistrictByFileType/**", "/Project-Reports/**",
"/downloadProjectReport/**", "/project-reports/view-share/**", "/shared-Project-Report/**",
"/shared-project-report-file/**", };
"/shared-project-report-file/**", "/Training-Modules/**", "/load_lan_by_week", "/load_week_by_language", };

/**
* url matcher for SUPERADMIN
Expand Down
110 changes: 108 additions & 2 deletions src/main/java/com/health/controller/AjaxController.java
Original file line number Diff line number Diff line change
Expand Up @@ -1267,14 +1267,19 @@ public String downloadPackagePost(@RequestParam String packageDownloadName,

@GetMapping("/downloadManager")
public String downloadManager(@RequestParam(name = "zipUrl") String zipUrl, HttpServletResponse response,
RedirectAttributes redirectAttributes) {
RedirectAttributes redirectAttributes, HttpServletRequest req) {

String message = ServiceUtility.downloadManager(zipUrl, downloadCount, downloadLimit, downloadTimeOut, env,
response);

if (message != null) {
String referer = req.getHeader("Referer");
if (referer == null || referer.trim().isEmpty()) {
referer = "/Training-Modules";
}

redirectAttributes.addFlashAttribute("return_msg", message);
return "redirect:/trainingModules";
return "redirect:" + referer;
}

return null;
Expand Down Expand Up @@ -1397,6 +1402,107 @@ public String downloadManager(@RequestParam(name = "zipUrl") String zipUrl, Http
* Training_Module_View End
**********************************/

/***************************************
* New Training Module Start
*******************************/

@RequestMapping("/load_lan_by_week")
public @ResponseBody ArrayList<Map<String, Integer>> getNewLanguageByWeek(
@RequestParam(value = "weekId") int weekId, @RequestParam(value = "languageId") int languageId,
Optional<Integer> packageId) {

ArrayList<Map<String, Integer>> arlist = new ArrayList<>();

Map<String, Integer> languages = new TreeMap<>();

Week week = weekId != 0 ? weekService.findByWeekId(weekId) : null;

Language language = languageId != 0 ? langService.getById(languageId) : null;
PackageLanguage packLanguage = null;
if (packageId != null && packageId.isPresent()) {
PackageContainer packageContainer = packageContainerService.findByPackageId(packageId.get());
if (packageContainer != null && language != null) {
packLanguage = packLanService.findByPackageContainerAndLan(packageContainer, language.getLangName());
}
}

List<TutorialWithWeekAndPackage> tutorials = new ArrayList<>();

if (packLanguage != null) {

tutorials = new ArrayList<>(packLanguage.getTutorialsWithWeekAndPack());
}

else {

List<WeekTitleVideo> weekTitleList = week != null ? new ArrayList<>(week.getWeekTitles())
: weekTitleVideoService.findAll();
List<PackageLanguage> packlan_list = packLanService.findAll();

tutorials = tutorialWithPackageAndService.findByWeekTitlesAndPackageLanguages(weekTitleList, packlan_list);
}

for (TutorialWithWeekAndPackage temp : tutorials) {
Language lan = temp.getPackageLanguage().getLan();
languages.put(lan.getLangName(), lan.getLanId());
}

arlist.add(languages);
return arlist;

}

@RequestMapping("/load_week_by_language")
public @ResponseBody ArrayList<Map<String, Integer>> getNewWeekByLanguage(
@RequestParam(value = "weekId") int weekId, @RequestParam(value = "languageId") int languageId,
Optional<Integer> packageId) {

ArrayList<Map<String, Integer>> arlist = new ArrayList<>();

Map<String, Integer> weeks = new TreeMap<>((w1, w2) -> {
int num1 = ServiceUtility.extractInteger(w1);
int num2 = ServiceUtility.extractInteger(w2);
return Integer.compare(num1, num2);
});

Week week = weekId != 0 ? weekService.findByWeekId(weekId) : null;

Language language = languageId != 0 ? langService.getById(languageId) : null;

PackageLanguage packLanguage = null;
if (packageId != null && packageId.isPresent()) {
PackageContainer packageContainer = packageContainerService.findByPackageId(packageId.get());
if (packageContainer != null && language != null) {
packLanguage = packLanService.findByPackageContainerAndLan(packageContainer, language.getLangName());
}
}

List<TutorialWithWeekAndPackage> tutorials = new ArrayList<>();
if (packLanguage != null) {

tutorials = new ArrayList<>(packLanguage.getTutorialsWithWeekAndPack());
} else {

List<WeekTitleVideo> weekTitleList = weekTitleVideoService.findAll();
List<PackageLanguage> packlan_list = language != null ? new ArrayList<>(language.getPackageLanguages())
: packLanService.findAll();
tutorials = tutorialWithPackageAndService.findByWeekTitlesAndPackageLanguages(weekTitleList, packlan_list);
}

for (TutorialWithWeekAndPackage temp : tutorials) {
Week weekTemp = temp.getWeekTitle().getWeek();
weeks.put(weekTemp.getWeekName(), weekTemp.getWeekId());
}

arlist.add(weeks);
return arlist;

}

/***************************************
* New Training Module End
**********************************/

/*********************
* Delete Tutorial of Training Module and HST Start
**************************/
Expand Down
123 changes: 123 additions & 0 deletions src/main/java/com/health/controller/HomeController.java
Original file line number Diff line number Diff line change
Expand Up @@ -901,6 +901,33 @@ private void getPackageAndLanguageData(Model model) {
getPackageAndLanguageData(model, "", "");
}

private void getNewPackageAndLanguageData(Model model, int weekId, int lanId) {
List<PackageContainer> packageList = packLanService.findAllDistinctEnabledPackageContainers();
model.addAttribute("packageList", packageList);

ArrayList<Map<String, Integer>> arlist = ajaxController.getNewLanguageByWeek(weekId, lanId, null);
ArrayList<Map<String, Integer>> arlist1 = ajaxController.getNewWeekByLanguage(weekId, lanId, null);
Map<String, Integer> languages = arlist.get(0);
Map<String, Integer> weeks = arlist1.get(0);

model.addAttribute("weekListNew", weeks);
model.addAttribute("languagesNew", languages);
model.addAttribute("localWeekNew", weekId);

model.addAttribute("localLanguageNew", lanId);

model.addAttribute("languageCount", languages.size());

boolean downloadPackageFlag = !packageList.isEmpty();

model.addAttribute("downloadPackageFlag", downloadPackageFlag);

}

private void getNewPackageAndLanguageData(Model model) {
getNewPackageAndLanguageData(model, 0, 0);
}

private void getModelTrainingResource(Model model, int topicId, int lanId, int fileTypeId) {

ArrayList<Map<String, Integer>> arlist = ajaxController.getLanAndFileTypeByTopic(topicId, lanId, fileTypeId);
Expand Down Expand Up @@ -7975,6 +8002,93 @@ public String getShareLinkofProjectReportDoc_ExcelByToken(HttpServletRequest req

/************************ Project Report End ********************************/

/**********************
* New Training Module Start
******************************/

@GetMapping("/Training-Modules")
public String newHstTrainingModules(@RequestParam(name = "week", required = false, defaultValue = "0") int week,
@RequestParam(name = "lang", required = false, defaultValue = "0") int lang, HttpServletRequest req,
@RequestParam(name = "page", defaultValue = "0") int page, Model model, Principal principal) {

User usr = getUser(principal);
logger.info("{} {} {}", usr.getUsername(), req.getMethod(), req.getRequestURI());
model.addAttribute("userInfo", usr);

model.addAttribute("week", week);
model.addAttribute("language", lang);
Week localWeek = null;
Language localLan = null;

Pageable pageable = PageRequest.of(page, 10);

getNewPackageAndLanguageData(model, week, lang);

if (week != 0) {
localWeek = weekService.findByWeekId(week);

model.addAttribute("weekforQuery", localWeek);
}
if (lang != 0) {
localLan = lanService.getById(lang);
model.addAttribute("lanforQuery", localLan);
}

List<WeekTitleVideo> weekTitleList = localWeek != null ? new ArrayList<>(localWeek.getWeekTitles())
: weekTitleVideoService.findAll();
List<PackageLanguage> packlan_list = localLan != null ? new ArrayList<>(localLan.getPackageLanguages())
: packLanService.findAll();

List<TutorialWithWeekAndPackage> tutorialswithWeekAndPackage = tutorialWithWeekAndPackageService
.findByWeekTitlesAndPackageLanguages(weekTitleList, packlan_list);

List<WeekTitleVideo> weekTitleVideoList = tutorialswithWeekAndPackage.stream()
.map(TutorialWithWeekAndPackage::getWeekTitle).distinct().collect(Collectors.toList());

List<WeekTitleVideo> finalWeekTitleVideoList = getEnglishTrainingMouduleFirst(weekTitleVideoList);

int start = (int) pageable.getOffset();
int end = Math.min((start + pageable.getPageSize()), finalWeekTitleVideoList.size());

List<WeekTitleVideo> sublist = finalWeekTitleVideoList.subList(start, end);

List<WeekTitleVideo> weekTitleVideoView = new ArrayList<WeekTitleVideo>();

Page<WeekTitleVideo> weekTitleVidePage = new PageImpl<>(sublist, pageable, finalWeekTitleVideoList.size());
for (WeekTitleVideo temp : weekTitleVidePage) {
{
weekTitleVideoView.add(temp);
}
}

int totalPages = 0;

if (weekTitleVidePage != null) {
totalPages = weekTitleVidePage.getTotalPages();
} else {
totalPages = 1;
}

int firstPage = page + 1 > 2 ? page + 1 - 2 : 1;
int lastPage = page + 1 < totalPages - 5 ? page + 1 + 5 : totalPages;

model.addAttribute("weekTitleVideoView", weekTitleVideoView);

model.addAttribute("currentPage", page);
model.addAttribute("firstPage", firstPage);
model.addAttribute("lastPage", lastPage);
model.addAttribute("totalPages", totalPages);

model.addAttribute("userInfo", usr);

// model.addAttribute("weekTitleVideoList", finalWeekTitleVideoList);

return "hstTrainingModuleList";

}

/********************* New Training Module End ********************************/

@GetMapping("/trainingModules")
public String hstTrainingModules(@RequestParam(name = "week", required = false, defaultValue = "") String weekName,
@RequestParam(name = "lan", required = false, defaultValue = "") String langName, HttpServletRequest req,
Expand Down Expand Up @@ -8030,8 +8144,17 @@ public String hstTrainingModuleView(@PathVariable(name = "weekTitleVideoId") int
if (weekTitleVideo == null) {
foundVideo = false;
} else {
model.addAttribute("currentwtvId", weekTitleVideoId);
Week week = weekTitleVideo.getWeek();
Language lan = weekTitleVideo.getVideoResource().getLan();
model.addAttribute("week", week.getWeekId());
model.addAttribute("language", lan.getLanId());

getNewPackageAndLanguageData(model, week.getWeekId(), lan.getLanId());

model.addAttribute("weekforQuery", week);

model.addAttribute("lanforQuery", lan);

List<WeekTitleVideo> relatedweekTitleVideoList = weekTitleVideoService.findByWeekAndLan(week, lan);
relatedweekTitleVideoList.remove(weekTitleVideo);
Expand Down
Loading
Loading