[pal-cvs 3781] [1516] validate start and end time.

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2008年 12月 4日 (木) 11:30:06 JST


Revision: 1516
          http://svn.sourceforge.jp/view?root=pal&view=rev&rev=1516
Author:   shinsuke
Date:     2008-12-04 11:30:06 +0900 (Thu, 04 Dec 2008)

Log Message:
-----------
validate start and end time.

Modified Paths:
--------------
    timecard/trunk/src/main/java/jp/sf/pal/timecard/action/EmployeeAction.java
    timecard/trunk/src/main/java/jp/sf/pal/timecard/action/admin/TimecardAction.java
    timecard/trunk/src/main/resources/application.properties
    timecard/trunk/src/main/resources/application_ja.properties


-------------- next part --------------
Modified: timecard/trunk/src/main/java/jp/sf/pal/timecard/action/EmployeeAction.java
===================================================================
--- timecard/trunk/src/main/java/jp/sf/pal/timecard/action/EmployeeAction.java	2008-12-04 02:12:08 UTC (rev 1515)
+++ timecard/trunk/src/main/java/jp/sf/pal/timecard/action/EmployeeAction.java	2008-12-04 02:30:06 UTC (rev 1516)
@@ -245,6 +245,23 @@
             }
         }
 
+        // check start and end time
+        if (!StringUtils.isEmpty(employeeForm.startTimeHr)
+                && !StringUtils.isEmpty(employeeForm.startTimeMin)
+                && !StringUtils.isEmpty(employeeForm.endTimeMin)
+                && !StringUtils.isEmpty(employeeForm.endTimeHr)) {
+            long startTime = DateUtil.get(70, 0, 1,
+                    Integer.parseInt(employeeForm.startTimeHr),
+                    Integer.parseInt(employeeForm.startTimeMin)).getTime();
+            long endTime = DateUtil.get(70, 0, 1,
+                    Integer.parseInt(employeeForm.endTimeHr),
+                    Integer.parseInt(employeeForm.endTimeMin)).getTime();
+            if (startTime > endTime) {
+                throw new ActionMessagesException(
+                        "errors.end_time_must_be_after_start_time");
+            }
+        }
+
         return "confirm.jsp";
     }
 
@@ -311,6 +328,22 @@
             }
         }
 
+        // check start and end time
+        if (!StringUtils.isEmpty(employeeForm.startTimeHr)
+                && !StringUtils.isEmpty(employeeForm.startTimeMin)
+                && !StringUtils.isEmpty(employeeForm.endTimeMin)
+                && !StringUtils.isEmpty(employeeForm.endTimeHr)) {
+            long startTime = DateUtil.get(70, 0, 1,
+                    Integer.parseInt(employeeForm.startTimeHr),
+                    Integer.parseInt(employeeForm.startTimeMin)).getTime();
+            long endTime = DateUtil.get(70, 0, 1,
+                    Integer.parseInt(employeeForm.endTimeHr),
+                    Integer.parseInt(employeeForm.endTimeMin)).getTime();
+            if (startTime > endTime) {
+                throw new ActionMessagesException(
+                        "errors.end_time_must_be_after_start_time");
+            }
+        }
         return "confirm.jsp";
     }
 
@@ -349,6 +382,23 @@
 
     @Execute(validator = true, input = "edit.jsp")
     public String update() {
+        // check start and end time
+        if (!StringUtils.isEmpty(employeeForm.startTimeHr)
+                && !StringUtils.isEmpty(employeeForm.startTimeMin)
+                && !StringUtils.isEmpty(employeeForm.endTimeMin)
+                && !StringUtils.isEmpty(employeeForm.endTimeHr)) {
+            long startTime = DateUtil.get(70, 0, 1,
+                    Integer.parseInt(employeeForm.startTimeHr),
+                    Integer.parseInt(employeeForm.startTimeMin)).getTime();
+            long endTime = DateUtil.get(70, 0, 1,
+                    Integer.parseInt(employeeForm.endTimeHr),
+                    Integer.parseInt(employeeForm.endTimeMin)).getTime();
+            if (startTime > endTime) {
+                throw new ActionMessagesException(
+                        "errors.end_time_must_be_after_start_time");
+            }
+        }
+
         try {
             DailyReport dailyReport = createDailyReport();
             reportService.store(dailyReport);

Modified: timecard/trunk/src/main/java/jp/sf/pal/timecard/action/admin/TimecardAction.java
===================================================================
--- timecard/trunk/src/main/java/jp/sf/pal/timecard/action/admin/TimecardAction.java	2008-12-04 02:12:08 UTC (rev 1515)
+++ timecard/trunk/src/main/java/jp/sf/pal/timecard/action/admin/TimecardAction.java	2008-12-04 02:30:06 UTC (rev 1516)
@@ -226,6 +226,23 @@
             }
         }
 
+        // check start and end time
+        if (!StringUtils.isEmpty(timecardForm.startTimeHr)
+                && !StringUtils.isEmpty(timecardForm.startTimeMin)
+                && !StringUtils.isEmpty(timecardForm.endTimeMin)
+                && !StringUtils.isEmpty(timecardForm.endTimeHr)) {
+            long startTime = DateUtil.get(70, 0, 1,
+                    Integer.parseInt(timecardForm.startTimeHr),
+                    Integer.parseInt(timecardForm.startTimeMin)).getTime();
+            long endTime = DateUtil.get(70, 0, 1,
+                    Integer.parseInt(timecardForm.endTimeHr),
+                    Integer.parseInt(timecardForm.endTimeMin)).getTime();
+            if (startTime > endTime) {
+                throw new ActionMessagesException(
+                        "errors.end_time_must_be_after_start_time");
+            }
+        }
+
         return "confirm.jsp";
     }
 
@@ -264,6 +281,23 @@
 
     @Execute(validator = true, input = "edit.jsp")
     public String update() {
+        // check start and end time
+        if (!StringUtils.isEmpty(timecardForm.startTimeHr)
+                && !StringUtils.isEmpty(timecardForm.startTimeMin)
+                && !StringUtils.isEmpty(timecardForm.endTimeMin)
+                && !StringUtils.isEmpty(timecardForm.endTimeHr)) {
+            long startTime = DateUtil.get(70, 0, 1,
+                    Integer.parseInt(timecardForm.startTimeHr),
+                    Integer.parseInt(timecardForm.startTimeMin)).getTime();
+            long endTime = DateUtil.get(70, 0, 1,
+                    Integer.parseInt(timecardForm.endTimeHr),
+                    Integer.parseInt(timecardForm.endTimeMin)).getTime();
+            if (startTime > endTime) {
+                throw new ActionMessagesException(
+                        "errors.end_time_must_be_after_start_time");
+            }
+        }
+
         try {
             DailyReport dailyReport = createDailyReport();
             reportService.store(dailyReport);

Modified: timecard/trunk/src/main/resources/application.properties
===================================================================
--- timecard/trunk/src/main/resources/application.properties	2008-12-04 02:12:08 UTC (rev 1515)
+++ timecard/trunk/src/main/resources/application.properties	2008-12-04 02:30:06 UTC (rev 1516)
@@ -60,6 +60,8 @@
 errors.could_not_create_notification_content=Could not create a notification content.
 errors.failed_to_send_notification=Failed to send a notification from {0} to {1}.
 
+errors.end_time_must_be_after_start_time=End time must be after Start time.
+
 labels.detail=Detail
 labels.create=Create
 labels.update=Update

Modified: timecard/trunk/src/main/resources/application_ja.properties
===================================================================
--- timecard/trunk/src/main/resources/application_ja.properties	2008-12-04 02:12:08 UTC (rev 1515)
+++ timecard/trunk/src/main/resources/application_ja.properties	2008-12-04 02:30:06 UTC (rev 1516)
@@ -53,6 +53,8 @@
 errors.could_not_create_notification_content=\u901a\u4fe1\u5185\u5bb9\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
 errors.failed_to_send_notification={0} \u304b\u3089 {1} \u3078\u901a\u77e5\u3092\u9001\u4fe1\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
 
+errors.end_time_must_be_after_start_time=\u7d42\u4e86\u6642\u9593\u306f\u958b\u59cb\u6642\u9593\u4ee5\u964d\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+
 labels.detail=\u8a73\u7d30
 labels.create=\u4f5c\u6210
 labels.update=\u66f4\u65b0


pal-cvs メーリングリストの案内
Back to archive index