Browse Source

DIV-431 and DIV-433: Added warning message for invalid date range and added validation for date overlap for reconciliation date

pull/160/head
Charles Shin 8 years ago
parent
commit
6fa9a0ff9d
5 changed files with 53 additions and 20 deletions
  1. +1
    -1
      edivorce/apps/core/static/css/main.css
  2. +1
    -1
      edivorce/apps/core/static/css/main.css.map
  3. +2
    -4
      edivorce/apps/core/static/css/main.scss
  4. +48
    -14
      edivorce/apps/core/static/js/functions.js
  5. +1
    -0
      edivorce/apps/core/templates/partials/reconciliation_period.html

+ 1
- 1
edivorce/apps/core/static/css/main.css
File diff suppressed because it is too large
View File


+ 1
- 1
edivorce/apps/core/static/css/main.css.map
File diff suppressed because it is too large
View File


+ 2
- 4
edivorce/apps/core/static/css/main.scss View File

@ -707,10 +707,8 @@ textarea {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
@media (min-width: 1px) and (max-width: 1199px) {
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
-ms-flex-wrap: wrap;
flex-wrap: wrap;
.form-group {
display: block;


+ 48
- 14
edivorce/apps/core/static/js/functions.js View File

@ -135,31 +135,41 @@ var getValue = function(el, question){
sToDate = $(this).closest('div').next('div').find(".reconciliation-to-date").val();
sFromDate = $(this).val();
// check if both date is in valid format and all
if (sToDate != '' && sFromDate != '' && isValidDate(sToDate) && isValidDate(sFromDate))
if (sToDate !== '' && sFromDate !== '' && isValidDate(sToDate) && isValidDate(sFromDate))
{
// clear previous errors
el.closest('.form-group')
.removeClass('has-error')
.find('span.help-block')
$(this).closest('.form-inline').find('.date')
.removeClass('has-error');
$(this).closest('.form-inline').find('span.help-block')
.remove();
dToDate = stringToDate(sToDate);
dFromDate = stringToDate(sFromDate);
if (dFromDate < dToDate){
value.push([sFromDate, sToDate]);
// show alert message if reconciliation period is greater than 90 days
if (dToDate.setDate(dToDate.getDate() - 90) > dFromDate){
$('#reconciliation_90_days_alert').show();
hideAlert = false;
// check if date overlaps with other dates
if(!checkDateOverlap(value, dFromDate, dToDate)) {
value.push([sFromDate, sToDate]);
// show alert message if reconciliation period is greater than 90 days
if (dToDate.setDate(dToDate.getDate() - 90) > dFromDate) {
$('#reconciliation_90_days_alert').show();
hideAlert = false;
}
if (hideAlert) {
$('#reconciliation_90_days_alert').hide();
}
}
if (hideAlert){
$('#reconciliation_90_days_alert').hide();
else {
$(this).closest('.form-inline').find('.date')
.addClass('has-error');
$(this).closest('.form-inline').find('.form-warning')
.append('<span class="help-block">You have entered date periods that overlap, please check your dates and enter each period of time separately.</span>');
}
}
else {
el.closest('.date')
.addClass('has-error')
.append('<span class="help-block">Negative Date Range</span>');
$(this).closest('.form-inline').find('.date')
.addClass('has-error');
$(this).closest('.form-inline').find('.form-warning')
.append('<span class="help-block">You have entered an end date (To:) that is earlier than the start date (From:), please check your dates and try again.</span>');
}
}
});
@ -270,4 +280,28 @@ var checkSeparationDateLessThanYear = function(separationDate){
yearFromToday.setYear(yearFromToday.getFullYear()-1);
// if separation date is less than one year, display message
return (date > yearFromToday);
};
// Check if new date overlaps with existing dates
var checkDateOverlap = function(dates, newFromDate, newToDate){
if (dates.length === 0) {
return false;
}
var isOverlap = true;
var oldFromDate;
var oldToDate;
// No overlap when new From date is later than old To date
// Or if new From date is earlier than old To date, and new To date is earlier than old From date.
dates.forEach(function(date){
oldFromDate = stringToDate(date[0]);
oldToDate = stringToDate(date[1]);
if(newFromDate > oldToDate) {
isOverlap = false;
}
else {
isOverlap = !(newToDate < oldFromDate);
}
});
return isOverlap;
};

+ 1
- 0
edivorce/apps/core/templates/partials/reconciliation_period.html View File

@ -13,4 +13,5 @@
</span>
</div>
<input type="button" class="btn btn-danger btn-delete-period form-control" tabindex="-1" value="Delete" />
<div class="form-warning has-error"></div>
</div>

Loading…
Cancel
Save