diff --git a/src/web/admin/admin_extension_list.html b/src/web/admin/admin_extension_list.html index 79416d4..56af87d 100644 --- a/src/web/admin/admin_extension_list.html +++ b/src/web/admin/admin_extension_list.html @@ -171,11 +171,23 @@ // console.log("day : " + availableDateArray[2]); var endDate = new Date(availableDateArray[0], availableDateArray[1] - 1, availableDateArray[2]); // console.log("endDate : " + endDate); + /* var newDate = new Date(endDate.setFullYear(endDate.getFullYear() + 1)); // console.log("newDate : " + newDate); // var newAvailableDate = newDate.toISOString().substring(0, 10); var newAvailableDate = newDate.getFullYear() + "-" + ("0"+(newDate.getMonth()+1)).slice(-2) + "-" + ("0" + newDate.getDate()).slice(-2); // console.log("newAvailableDate : " + newAvailableDate); + */ + var today = new Date(); + var endDay = new Date(endDate); + var diffDay = (endDay.getTime() - today.getTime()) / (1000 * 60 * 60 * 24); + var newDate = null; + if(diffDay < 0) // end date is over + newDate = new Date(today.setFullYear(today.getFullYear() + 1)); + else + newDate = new Date(endDay.setFullYear(endDay.getFullYear() + 1)); + newAvailableDate = newDate.getFullYear() + "-" + ("0"+(newDate.getMonth()+1)).slice(-2) + "-" + ("0" + newDate.getDate()).slice(-2); + console.log("newAvailableDate : " + newAvailableDate); // console.log(maestroExtensionID); // console.log(maestroID); diff --git a/src/web/js/maestro_availabel_date.js b/src/web/js/maestro_availabel_date.js new file mode 100644 index 0000000..2b18282 --- /dev/null +++ b/src/web/js/maestro_availabel_date.js @@ -0,0 +1,78 @@ +function MaestroAvailableDate() { + this.today = new Date(); + + this.endDate = null; + this.endDay = null; +} + + +MaestroAvailableDate.prototype.setEndDate = function(endDate) { + this.endDate = endDate; + this.endDay = new Date(this.endDate); +} + +MaestroAvailableDate.prototype.setEndDateTime = function(endDateTime) { + var endDateArray = endDateTime.split(" "); + this.setEndDate(endDateArray[0]); // "YY-MM_DD" +} + +MaestroAvailableDate.prototype.getDiffDay = function() { + var diffDay = (this.endDay.getTime() - this.today.getTime()) / (1000 * 60 * 60 * 24); + return Math.ceil(diffDay); +} + +MaestroAvailableDate.prototype.getNewAvailableDate = function(diffDay) { + var newDate = null; + if(diffDay < 0) // end date is over + newDate = new Date(new Date().setFullYear(this.today.getFullYear() + 1)); + else + newDate = new Date(new Date().setFullYear(this.endDay.getFullYear() + 1)); + + var year2Digits = newDate.getFullYear(); + var month2Digits = ("0"+(newDate.getMonth()+1)).slice(-2); + var day2Digits = ("0" + newDate.getDate()).slice(-2); + + return year2Digits+ "-" + month2Digits + "-" + day2Digits; +} + +MaestroAvailableDate.prototype.showMaestroExtensionMessage = function(maestroName) { + var diffDay = this.getDiffDay(); + + if(diffDay > 30) + return; + + $("#maestro_extension").removeClass("d-none"); + + var message = ""; + if(diffDay > 0) + message = "" + maestroName + " 계정의 유효기간이 얼마 남지 않았습니다.
1년 더 사용을 원하신다면 우측의 [유효기간 연장] 버튼을 눌러주세요."; + else + message = "" + maestroName + " 계정의 유효기간이 지났습니다. 등록된 학생들의 정보는 유지되지만, 로그인이 제한됩니다.
유효기간 연장을 하시면 다시 로그인하고 사용할 수 있게 됩니다."; + + $("#maestro_extension_message").html(message); +} + + +MaestroAvailableDate.prototype.showEndDate = function() { + var diffDay = this.getDiffDay(); + + var newAvailableDate = this.getNewAvailableDate(diffDay); + + $("#end_day").html(this.endDate); + + if(diffDay < 0) { + $("#maestro_count_down_date").html("유효 기간 : ~ " + this.endDate + " (" + Math.abs(diffDay) + "일 경과) "); + + $("#countdown_day").addClass("bg-danger font-weight-bold text-light"); + } + else { + $("#maestro_count_down_date").html("유효 기간 : ~ " + this.endDate + " (남은 기간 : " + diffDay + "일)"); + + if(diffDay < 10) + $("#countdown_day").addClass("bg-danger text-light"); + else if(diffDay < 30) + $("#countdown_day").addClass("text-danger"); + else + $("#countdown_day").addClass("text-primary"); + } +} \ No newline at end of file diff --git a/src/web/maestro/extension.html b/src/web/maestro/extension.html index a323aac..1d05546 100644 --- a/src/web/maestro/extension.html +++ b/src/web/maestro/extension.html @@ -46,6 +46,7 @@ + diff --git a/src/web/maestro/main_menu.html b/src/web/maestro/main_menu.html index 2d77989..2c95e0a 100644 --- a/src/web/maestro/main_menu.html +++ b/src/web/maestro/main_menu.html @@ -38,6 +38,7 @@ + diff --git a/src/web/maestro/setup.html b/src/web/maestro/setup.html index bcca9c2..08a75d5 100644 --- a/src/web/maestro/setup.html +++ b/src/web/maestro/setup.html @@ -45,6 +45,7 @@ + diff --git a/src/web/maestro/upgrade.html b/src/web/maestro/upgrade.html index 960abdf..ec10d9d 100644 --- a/src/web/maestro/upgrade.html +++ b/src/web/maestro/upgrade.html @@ -45,6 +45,7 @@ + diff --git a/src/web/module/maestro_extension.html b/src/web/module/maestro_extension.html index 9fa6814..43e6db2 100644 --- a/src/web/module/maestro_extension.html +++ b/src/web/module/maestro_extension.html @@ -1,5 +1,7 @@