Skip to content

Commit 3b5e136

Browse files
NicolasEYSSERICSilverYoCha
authored andcommitted
fixing bug #5126
using 'silverpeas-datechecker' Javascript plugin instead of old code
1 parent ff83d92 commit 3b5e136

File tree

2 files changed

+60
-216
lines changed

2 files changed

+60
-216
lines changed

almanach/almanach-war/src/main/webapp/almanach/jsp/createEvent.jsp

Lines changed: 37 additions & 115 deletions
Original file line numberDiff line numberDiff line change
@@ -76,119 +76,44 @@ function reallyAdd() {
7676
}
7777
7878
function isCorrectForm() {
79-
var errorMsg = "";
80-
var errorNb = 0;
81-
var title = stripInitialWhitespace(document.eventForm.Title.value);
82-
var beginDate = document.eventForm.StartDate.value;
83-
var endDate = document.eventForm.EndDate.value;
84-
var beginTime = stripInitialWhitespace(document.eventForm.StartHour.value);
85-
var endTime = stripInitialWhitespace(document.eventForm.EndHour.value);
86-
var unity = document.eventForm.Unity.value;
87-
var frequency = stripInitialWhitespace(document.eventForm.Frequency.value);
88-
var beginPeriodicity = document.eventForm.PeriodicityStartDate.value;
89-
var untilDate = document.eventForm.PeriodicityUntilDate.value;
90-
91-
var beginDateOK = true;
92-
var beginPeriodicityOK = true;
93-
94-
if (isWhitespace(title)) {
95-
errorMsg += " - <fmt:message key='GML.theField'/> '<fmt:message key='GML.name'/>' <fmt:message key='GML.MustBeFilled'/>\n";
96-
errorNb++;
97-
}
98-
if (isWhitespace(beginDate)) {
99-
errorMsg += " - <fmt:message key='GML.theField'/> '<fmt:message key='GML.dateBegin'/>' <fmt:message key='GML.MustBeFilled'/>\n";
100-
errorNb++;
101-
}
102-
else {
103-
if (!isDateOK(beginDate, '<c:out value="${language}"/>')) {
104-
errorMsg += " - <fmt:message key='GML.theField'/> '<fmt:message key='GML.dateBegin'/>' <fmt:message key='GML.MustContainsCorrectDate'/>\n";
105-
errorNb++;
106-
beginDateOK = false;
107-
}
108-
}
109-
110-
if (!checkHour(beginTime) || (isWhitespace(beginTime) && !isWhitespace(endTime))) {
111-
errorMsg += " - <fmt:message key='GML.theField'/> '<fmt:message key='hourBegin'/>' <fmt:message key='MustContainsCorrectHour'/>\n";
112-
errorNb++;
113-
}
114-
115-
if (!isWhitespace(endDate)) {
116-
if (!isDateOK(endDate, '<c:out value="${language}"/>')) {
117-
errorMsg += " - <fmt:message key='GML.theField'/> '<fmt:message key='GML.dateEnd'/> <fmt:message key='GML.MustContainsCorrectDate'/>\n";
118-
errorNb++;
119-
} else {
120-
if (!isWhitespace(beginDate) && !isWhitespace(endDate)) {
121-
if (beginDateOK && !isDate1AfterDate2(endDate, beginDate, '<c:out value="${language}"/>')) {
122-
errorMsg += " - <fmt:message key='GML.theField'/> '<fmt:message key='GML.dateEnd'/>' <fmt:message key='GML.MustContainsPostOrEqualDateTo'/> " + beginDate + "\n";
123-
errorNb++;
124-
}
125-
} else {
126-
if (isWhitespace(beginDate) && !isWhitespace(endDate)) {
127-
if (!isFuture(endDate, '<c:out value="${language}"/>')) {
128-
errorMsg += " - <fmt:message key='GML.theField'/> '<fmt:message key='GML.dateEnd'/>' <fmt:message key='GML.MustContainsPostDate'/>\n";
129-
errorNb++;
130-
}
131-
}
132-
}
79+
var errorMsg = "";
80+
var errorNb = 0;
81+
var title = stripInitialWhitespace(document.eventForm.Title.value);
82+
var unity = document.eventForm.Unity.value;
83+
84+
if (isWhitespace(title)) {
85+
errorMsg+=" - '<fmt:message key='GML.name'/>' <fmt:message key='GML.MustBeFilled'/>\n";
86+
errorNb++;
13387
}
134-
}
135-
136-
if (!checkHour(endTime)) {
137-
errorMsg += " - <fmt:message key='GML.theField'/> '<fmt:message key='hourEnd'/>' <fmt:message key='MustContainsCorrectHour'/>\n";
138-
errorNb++;
139-
}
14088
141-
if (beginDate == endDate && !isWhitespace(endTime) && !isWhitespace(beginTime)) {
142-
var beginHour = atoi(extractHour(beginTime));
143-
var beginMinute = atoi(extractMinute(beginTime));
144-
var endHour = atoi(extractHour(endTime));
145-
var endMinute = atoi(extractMinute(endTime));
146-
if (beginHour > endHour || (beginHour == endHour && beginMinute > endMinute)) {
147-
errorMsg += " - <fmt:message key='GML.theField'/> '<fmt:message key='hourEnd'/>' <fmt:message key='GML.MustContainsPostOrEqualDateTo'/> " + beginTime + "\n";
89+
var beginDate = {dateId : 'eventStartDate', hourId : 'StartHour', isMandatory : true};
90+
var endDate = {dateId : 'eventEndDate', hourId : 'EndHour', defaultDateHour : '23:59'};
91+
var dateErrors = isPeriodValid(beginDate, endDate);
92+
$(dateErrors).each(function(index, error) {
93+
errorMsg += " - " + error.message + "\n";
14894
errorNb++;
95+
});
96+
97+
if (unity != "0") {
98+
var frequency = stripInitialWhitespace(document.eventForm.Frequency.value);
99+
if (isWhitespace(frequency)) {
100+
errorMsg+=" - '<fmt:message key='frequency'/>' <fmt:message key='GML.MustBeFilled'/>\n";
101+
errorNb++;
102+
} else {
103+
if( ! isInteger(frequency)) {
104+
errorMsg+=" - '<fmt:message key='frequency'/>' <fmt:message key='GML.MustContainsNumber'/>\n";
105+
errorNb++;
106+
}
107+
}
108+
109+
var beginPeriodicity = {dateId : 'eventPeriodicityStartDate'};
110+
var untilDate = {dateId : 'eventPeriodicityUntil'};
111+
var periodicityErrors = isPeriodValid(beginPeriodicity, untilDate);
112+
$(periodicityErrors).each(function(index, error) {
113+
errorMsg += " - " + error.message + "\n";
114+
errorNb++;
115+
});
149116
}
150-
}
151-
152-
if (unity != "0") {
153-
if (isWhitespace(frequency)) {
154-
errorMsg += " - <fmt:message key='GML.theField'/> '<fmt:message key='frequency'/>' <fmt:message key='GML.MustBeFilled'/>\n";
155-
errorNb++;
156-
} else {
157-
if (! isInteger(frequency)) {
158-
errorMsg += " - <fmt:message key='GML.theField'/> '<fmt:message key='frequency'/>' <fmt:message key='GML.MustContainsNumber'/>\n";
159-
errorNb++;
160-
}
161-
}
162-
163-
if (! isWhitespace(beginPeriodicity)) {
164-
if (!isDateOK(beginPeriodicity, '<c:out value="${language}"/>')) {
165-
errorMsg += " - <fmt:message key='GML.theField'/> '<fmt:message key='beginDatePeriodicity'/>' <fmt:message key='GML.MustContainsCorrectDate'/>\n";
166-
errorNb++;
167-
beginPeriodicityOK = false;
168-
}
169-
}
170-
171-
if (! isWhitespace(untilDate)) {
172-
if (!isDateOK(untilDate, '<c:out value="${language}"/>')) {
173-
errorMsg += " - <fmt:message key='GML.theField'/> '<fmt:message key='endDatePeriodicity'/>' <fmt:message key='GML.MustContainsCorrectDate'/>\n";
174-
errorNb++;
175-
} else {
176-
if (!isWhitespace(beginPeriodicity) && !isWhitespace(untilDate)) {
177-
if (beginPeriodicityOK && !isDate1AfterDate2(untilDate, beginPeriodicity, '<c:out value="${language}"/>')) {
178-
errorMsg += " - <fmt:message key='GML.theField'/> '<fmt:message key='endDatePeriodicity'/>' <fmt:message key='GML.MustContainsPostOrEqualDateTo'/> " + beginPeriodicity + "\n";
179-
errorNb++;
180-
}
181-
} else {
182-
if (isWhitespace(beginPeriodicity) && !isWhitespace(untilDate)) {
183-
if (!isFuture(untilDate, '<c:out value="${language}"/>')) {
184-
errorMsg += " - <fmt:message key='GML.theField'/> '<fmt:message key='endDatePeriodicity'/>' <fmt:message key='GML.MustContainsPostDate'/>\n";
185-
errorNb++;
186-
}
187-
}
188-
}
189-
}
190-
}
191-
}
192117
193118
<view:pdcValidateClassification errorCounter="errorNb" errorMessager="errorMsg"/>;
194119
@@ -342,7 +267,7 @@ $(document).ready(function() {
342267
<input id="eventStartDate" type="text" class="dateToPick" name="StartDate" size="14" maxlength="<c:out value='${maxDateLength}'/>" value="<c:out value='${day[0]}'/>" onchange="javascript:updateDates();"/>
343268
<span class="txtnote">(<fmt:message key='GML.dateFormatExemple'/>)</span>
344269
<span class="txtlibform">&nbsp;<fmt:message key='ToHour'/>&nbsp;</span>
345-
<input class="inputHour" type="text" name="StartHour" size="5" maxlength="5" value="<c:out value='${day[1]}'/>"/> <span class="txtnote">(hh:mm)</span>&nbsp;<img alt="obligatoire" src="icons/cube-rouge.gif" width="5" height="5"/>
270+
<input class="inputHour" type="text" name="StartHour" id="StartHour" size="5" maxlength="5" value="<c:out value='${day[1]}'/>"/> <span class="txtnote">(hh:mm)</span>&nbsp;<img alt="obligatoire" src="icons/cube-rouge.gif" width="5" height="5"/>
346271
</div>
347272
</div>
348273

@@ -352,7 +277,7 @@ $(document).ready(function() {
352277
<input id="eventEndDate" type="text" class="dateToPick" name="EndDate" size="14" maxlength="<c:out value='${maxDateLength}'/>" value="<c:out value='${day[0]}'/>"/>
353278
<span class="txtnote">(<fmt:message key='GML.dateFormatExemple'/>)</span>
354279
<span class="txtlibform">&nbsp;<fmt:message key='ToHour'/>&nbsp;</span>
355-
<input class="inputHour" type="text" name="EndHour" size="5" maxlength="5"/> <span class="txtnote">(hh:mm)</span>
280+
<input class="inputHour" type="text" name="EndHour" id="EndHour" size="5" maxlength="5"/> <span class="txtnote">(hh:mm)</span>
356281
</div>
357282
</div>
358283

@@ -452,9 +377,7 @@ $(document).ready(function() {
452377
</div>
453378

454379
<div class="field eventPeriodicityDateArea" id="eventPeriodicityStartDateArea">
455-
<label for="eventPeriodicityStartDate" class="txtlibform">
456-
<fmt:message key='beginDatePeriodicity'/> </label>
457-
380+
<label for="eventPeriodicityStartDate" class="txtlibform"><fmt:message key='beginDatePeriodicity'/></label>
458381
<div class="champs">
459382
<input type="text" id="eventPeriodicityStartDate" class="dateToPick" name="PeriodicityStartDate" size="14" maxlength="<c:out value='${maxDateLength}'/>" readonly="readonly" value="<c:out value='${day[0]}'/>"/>
460383
(<fmt:message key='GML.dateFormatExemple'/>)
@@ -463,7 +386,6 @@ $(document).ready(function() {
463386

464387
<div class="field eventPeriodicityDateArea" id="eventPeriodicityUntilDateArea">
465388
<label for="eventPeriodicityUntil" class="txtlibform"><fmt:message key='endDatePeriodicity'/></label>
466-
467389
<div class="champs">
468390
<input type="text" id="eventPeriodicityUntil" class="dateToPick" name="PeriodicityUntilDate" size="14" maxlength="<c:out value='${maxDateLength}'/>"/><span class="txtnote"> (<fmt:message key='GML.dateFormatExemple'/>)</span>
469391
</div>

almanach/almanach-war/src/main/webapp/almanach/jsp/editEvent.jsp

Lines changed: 23 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -116,118 +116,40 @@ function isCorrectForm() {
116116
var errorMsg = "";
117117
var errorNb = 0;
118118
var title = stripInitialWhitespace(document.eventForm.Title.value);
119-
var beginDate = document.eventForm.StartDate.value;
120-
var endDate = document.eventForm.EndDate.value;
121-
var beginTime = stripInitialWhitespace(document.eventForm.StartHour.value);
122-
var endTime = stripInitialWhitespace(document.eventForm.EndHour.value);
123119
var unity = document.eventForm.Unity.value;
124-
var frequency = stripInitialWhitespace(document.eventForm.Frequency.value);
125-
var beginPeriodicity = document.eventForm.PeriodicityStartDate.value;
126-
var untilDate = document.eventForm.PeriodicityUntilDate.value;
127-
128-
var beginDateOK = true;
129-
var beginPeriodicityOK = true;
130120
131121
if (isWhitespace(title)) {
132122
errorMsg+=" - <%=resources.getString("GML.theField")%> '<%=resources.getString("GML.name")%>' <%=resources.getString("GML.MustBeFilled")%>\n";
133123
errorNb++;
134124
}
135-
if (isWhitespace(beginDate)) {
136-
errorMsg+=" - <%=resources.getString("GML.theField")%> '<%=resources.getString("GML.dateBegin")%>' <%=resources.getString("GML.MustBeFilled")%>\n";
137-
errorNb++;
138-
}
139-
else
140-
{
141-
if (!isDateOK(beginDate, '<%=language%>')) {
142-
errorMsg+=" - <%=resources.getString("GML.theField")%> '<%=resources.getString("GML.dateBegin")%>' <%=resources.getString("GML.MustContainsCorrectDate")%>\n";
143-
errorNb++;
144-
beginDateOK = false;
145-
}
146-
}
147-
148-
if (!checkHour(beginTime) || (isWhitespace(beginTime) && !isWhitespace(endTime)))
149-
{
150-
errorMsg+=" - <%=resources.getString("GML.theField")%> '<%=almanach.getString("hourBegin")%>' <%=almanach.getString("MustContainsCorrectHour")%>\n";
151-
errorNb++;
152-
}
153-
154-
if (!isWhitespace(endDate)) {
155-
if (!isDateOK(endDate, '<%=language%>')) {
156-
errorMsg+=" - <%=resources.getString("GML.theField")%> '<%=resources.getString("GML.dateEnd")%>' <%=resources.getString("GML.MustContainsCorrectDate")%>\n";
157-
errorNb++;
158-
} else {
159-
if (!isWhitespace(beginDate) && !isWhitespace(endDate)) {
160-
if (beginDateOK && !isDate1AfterDate2(endDate, beginDate, '<%=language%>')) {
161-
errorMsg+=" - <%=resources.getString("GML.theField")%> '<%=resources.getString("GML.dateEnd")%>' <%=resources.getString("GML.MustContainsPostOrEqualDateTo")%> "+beginDate+"\n";
162-
errorNb++;
163-
}
164-
} else {
165-
if (isWhitespace(beginDate) && !isWhitespace(endDate)) {
166-
if (!isFuture(endDate, '<%=language%>')) {
167-
errorMsg+=" - <%=resources.getString("GML.theField")%> '<%=resources.getString("GML.dateEnd")%>' <%=resources.getString("GML.MustContainsPostDate")%>\n";
168-
errorNb++;
169-
}
170-
}
171-
}
172-
}
173-
}
174-
175-
if (!checkHour(endTime))
176-
{
177-
errorMsg+=" - <%=resources.getString("GML.theField")%> '<%=almanach.getString("hourEnd")%>' <%=almanach.getString("MustContainsCorrectHour")%>\n";
178-
errorNb++;
179-
}
180125
181-
if (beginDate == endDate && !isWhitespace(endTime) && !isWhitespace(beginTime)) {
182-
var beginHour = atoi(extractHour(beginTime));
183-
var beginMinute = atoi(extractMinute(beginTime));
184-
var endHour = atoi(extractHour(endTime));
185-
var endMinute = atoi(extractMinute(endTime));
186-
if (beginHour > endHour || (beginHour == endHour && beginMinute > endMinute)) {
187-
errorMsg += " - <%=resources.getString("GML.theField")%> '<%=resources.getString("hourEnd")%>' <%=resources.getString("GML.MustContainsPostOrEqualDateTo")%> " + beginTime + "\n";
188-
errorNb++;
189-
}
190-
}
126+
var beginDate = {dateId : 'eventStartDate', hourId : 'StartHour', isMandatory : true};
127+
var endDate = {dateId : 'eventEndDate', hourId : 'EndHour', defaultDateHour : '23:59'};
128+
var dateErrors = isPeriodValid(beginDate, endDate);
129+
$(dateErrors).each(function(index, error) {
130+
errorMsg += " - " + error.message + "\n";
131+
errorNb++;
132+
});
191133
192134
if (unity != "0") {
135+
var frequency = stripInitialWhitespace(document.eventForm.Frequency.value);
193136
if (isWhitespace(frequency)) {
194-
errorMsg+=" - <%=resources.getString("GML.theField")%> '<%=resources.getString("frequency")%>' <%=resources.getString("GML.MustBeFilled")%>\n";
137+
errorMsg+=" - '<%=resources.getString("frequency")%>' <%=resources.getString("GML.MustBeFilled")%>\n";
195138
errorNb++;
196139
} else {
197140
if( ! isInteger(frequency)) {
198-
errorMsg+=" - <%=resources.getString("GML.theField")%> '<%=resources.getString("frequency")%>' <%=resources.getString("GML.MustContainsNumber")%>\n";
141+
errorMsg+=" - '<%=resources.getString("frequency")%>' <%=resources.getString("GML.MustContainsNumber")%>\n";
199142
errorNb++;
200143
}
201144
}
202-
203-
if (!isWhitespace(beginPeriodicity)) {
204-
if (!isDateOK(beginPeriodicity, '<%=language%>')) {
205-
errorMsg+=" - <%=resources.getString("GML.theField")%> '<%=resources.getString("beginDatePeriodicity")%>' <%=resources.getString("GML.MustContainsCorrectDate")%>\n";
206-
errorNb++;
207-
beginPeriodicityOK = false;
208-
}
209-
}
210-
211-
if (!isWhitespace(untilDate)) {
212-
if (!isDateOK(untilDate, '<%=language%>')) {
213-
errorMsg+=" - <%=resources.getString("GML.theField")%> '<%=resources.getString("endDatePeriodicity")%>' <%=resources.getString("GML.MustContainsCorrectDate")%>\n";
214-
errorNb++;
215-
} else {
216-
if (!isWhitespace(beginPeriodicity) && !isWhitespace(untilDate)) {
217-
if (beginPeriodicityOK && !isDate1AfterDate2(untilDate, beginPeriodicity, '<%=language%>')) {
218-
errorMsg+=" - <%=resources.getString("GML.theField")%> '<%=resources.getString("endDatePeriodicity")%>' <%=resources.getString("GML.MustContainsPostOrEqualDateTo")%> "+beginPeriodicity+"\n";
219-
errorNb++;
220-
}
221-
} else {
222-
if (isWhitespace(beginPeriodicity) && !isWhitespace(untilDate)) {
223-
if (!isFuture(untilDate, '<%=language%>')) {
224-
errorMsg+=" - <%=resources.getString("GML.theField")%> '<%=resources.getString("endDatePeriodicity")%>' <%=resources.getString("GML.MustContainsPostDate")%>\n";
225-
errorNb++;
226-
}
227-
}
228-
}
229-
}
230-
}
145+
146+
var beginPeriodicity = {dateId : 'eventPeriodicityStartDate'};
147+
var untilDate = {dateId : 'eventPeriodicityUntil'};
148+
var periodicityErrors = isPeriodValid(beginPeriodicity, untilDate);
149+
$(periodicityErrors).each(function(index, error) {
150+
errorMsg += " - " + error.message + "\n";
151+
errorNb++;
152+
});
231153
}
232154
233155
switch(errorNb) {
@@ -500,20 +422,20 @@ $(document).ready(function(){
500422
<div class="field" id="eventStartDateArea">
501423
<label for="eventStartDate" class="txtlibform"><fmt:message key='GML.dateBegin'/></label>
502424
<div class="champs">
503-
<input type="text" class="dateToPick" name="StartDate" size="14" maxlength="<c:out value='${maxDateLength}'/>" value="<%=resources.getOutputDate(startDate)%>" onchange="javascript:updateDates();"/>
425+
<input type="text" class="dateToPick" name="StartDate" id="eventStartDate" size="14" maxlength="<c:out value='${maxDateLength}'/>" value="<%=resources.getOutputDate(startDate)%>" onchange="javascript:updateDates();"/>
504426
<span class="txtnote">(<fmt:message key='GML.dateFormatExemple'/>)</span>
505427
<span class="txtlibform">&nbsp;<fmt:message key='ToHour'/>&nbsp;</span>
506-
<input class="inputHour" type="text" name="StartHour" size="5" maxlength="5" value="<%=startHour%>"/> <span class="txtnote">(hh:mm)</span>&nbsp;<img alt="obligatoire" src="icons/cube-rouge.gif" width="5" height="5"/>
428+
<input class="inputHour" type="text" name="StartHour" id="StartHour" size="5" maxlength="5" value="<%=startHour%>"/> <span class="txtnote">(hh:mm)</span>&nbsp;<img alt="obligatoire" src="icons/cube-rouge.gif" width="5" height="5"/>
507429
</div>
508430
</div>
509431

510432
<div class="field" id="eventEndDateArea">
511433
<label for="eventEndDate" class="txtlibform"><fmt:message key='GML.dateEnd'/></label>
512434
<div class="champs">
513-
<input id="eventEndDate" type="text" class="dateToPick" name="EndDate" size="14" maxlength="<c:out value='${maxDateLength}'/>" value="<%=resources.getOutputDate(endDate)%>"/>
435+
<input id="eventEndDate" type="text" class="dateToPick" name="EndDate" id="eventEndDate" size="14" maxlength="<c:out value='${maxDateLength}'/>" value="<%=resources.getOutputDate(endDate)%>"/>
514436
<span class="txtnote">(<fmt:message key='GML.dateFormatExemple'/>)</span>
515437
<span class="txtlibform">&nbsp;<fmt:message key='ToHour'/>&nbsp;</span>
516-
<input class="inputHour" type="text" name="EndHour" size="5" maxlength="5" value="<%=endHour%>"/> <span class="txtnote">(hh:mm)</span>
438+
<input class="inputHour" type="text" name="EndHour" id="EndHour" size="5" maxlength="5" value="<%=endHour%>"/> <span class="txtnote">(hh:mm)</span>
517439
</div>
518440
</div>
519441

@@ -606,7 +528,7 @@ $(document).ready(function(){
606528
</div>
607529

608530
<div class="field eventPeriodicityDateArea" id="eventPeriodicityStartDateArea">
609-
<label for="eventPeriodicityStartDate" class="txtlibform"> <fmt:message key='beginDatePeriodicity'/> </label>
531+
<label for="eventPeriodicityStartDate" class="txtlibform"><fmt:message key='beginDatePeriodicity'/></label>
610532
<div class="champs">
611533
<input type="text" id="eventPeriodicityStartDate" class="dateToPick" name="PeriodicityStartDate" size="14" maxlength="<c:out value='${maxDateLength}'/>" readonly="readonly" value="<%=resources.getInputDate(event.getStartDate())%>" /> (<fmt:message key='GML.dateFormatExemple'/>)
612534
</div>

0 commit comments

Comments
 (0)