Jump to content

Advanced Search Date Range


Will Buescher

Recommended Posts

We would like the solution to be delivered as 'overides' to the existing Jreviews plugin and configuration steps .

 

Date Range Requirement

 

Ability to add a date range (from-date and to to-date) for a listing. The database should allow for multiple date ranges for each listing.  Ie there should be multiple date ranges for one listing. Eg for a listing of hotels, each hotel has multiple date ranges for vacancies.

 

The search should search all date ranges for each listing. A listing will occur in the result set when any listing-date-range overlaps the search date range.  Eg. the user will enter one range of dates to search for vacancies and all hotels with at least one overlapping date range will occur in the resulting list (each hotel occurs once only).

All date ranges are inclusive of from-date and to-date.

 

A separate database table is required to contain the date ranges for listings which will be JOINed to the listing table when SELECTing data. Additional fields should be allowed for each date range for display purposes eg. a status field with values “confirmed”, “pending”, etc.

Any errors during the input of the select date range should be shown eg “Invalid date range”, “Invalid date”.

 

SELECT WHERE statement

 

If the date search fields are s1 and s2 (from date and to date) and the database date fields are d1 and d2 the SELECT statement should contain: “d1 <= s2 AND d2 >= s1”

If the from-date is blank, assume the lowest from-date. The SELECT statement should contain: “d1 <= s2”

If the to-date is blank, assume the highest  to-date. The SELECT statement should contain: “d2 >= s1”

If the from-date and to-date are blank, assume no date range selection. The SELECT statement should not contain s1 or s2.

 

Displays

 

The word “to” should appear between the two dates (dependent upon language).

 

Output-only date range

 

All output-only displays of the date range should display each date in format: “Saturday, 4th June 2011”. Eg.

Saturday, 4th June 2011 to Sunday, 5th June 2011 Confirmed

 

The output-only date ranges will only be seen on display showing listing details or summaries. The date ranges shown on these displays will only be those which have some overlap with the search date range. (If the search date range is blank, all date ranges are considered to be selected)

 

Input date range

 

All input displays of the date range should display each date in 3 input fields for day, month and year eg “04 06 2011”. The two dates could display on the same line or from-date above to-date, depending on selectable configuration options. The calendar button-icon should appear with each date and present the usual selectable month calendar as an alternative way to select the date. If the date is valid, the day of the week should appear to the left of the day number (display blank if the date is invalid). Eg.

Saturday 04 06 2011 (icon)

to

Sunday 05 06 2011 (icon)

Or

 

Saturday 04 06 2011 (icon) to Sunday 05 06 2011 (icon)

 

Initial values for input date range

 

The initial value for the from-date will be today’s date.

The initial value for the to-date will be calculated from today’s date. The configuration options should allow for a number of days, weeks or months to be added to today’s date to determine the to-date. Default this to one month.

 

Error Display Requirement

 

If errors are detected on the advanced search selection page, the page should be redisplayed with the description of the error. It is enough for the error text to show “Invalid xxx.” (dependent upon language) where xxx is the description of the input field in error.

If the search has no results, this should be displayed in the same manner as an input error on the advanced search selection page ie. redisplay the same page with the “No results” message that normally displays.

The messages should display above the first input fields

 

Link to comment
×
×
  • Create New...