Comprehensive Change List Tee/SQL Version 56 10/04 ================================ Enhancements ------------ - Added the ability to copy ALL rates from a particular player type to another player type within the Admin Rates dialog. - Coalesced dept, class, vendor values for Group Items into a single column of data called Dept/Class. You can specify 1 or 2 characters here. Specify 1 for an entire department, 2 for a specific class. - Added the ability to auto-refresh changes made by other clerks. Note that only the terminal server and SQL server MUST be on the same machine for this to work. - Added [Test] button to 'General Club Info|Internet Options'. - Added ability to select tee in Squeeze time. - Added new option 'Assume Cart Fees will be charged to new players' to 'Checkin Screen' options in Setup. Whenever this option is checked, TeeSQL will assume players will get charged a cart fee by default. If this option is unchecked, cart fees will not be included by default and clerks must manually touch the [Cart] button to charge a cart fee. - Fixed various problems with emailing of confirmations from the clerk side. Confirmation emails are now sent after a booking or cancellation is made if the option is turned on in 'Booking Options'. Captain email addresses are preserved even if all players in the group are walkins. Any changes made to the email addresses listed in the Email tab of the checkin window will be updated and save into each players' profile. - Added the green fee and cart fee item descriptions to the 'Revenue by Player Type' report. Previous versions left these descriptions blank. - Added 'Check Environment' to the Support tree of Administrator Options. - Various environmental conditions (e.g. pervasive loaded, enough disk space, inventory files available, etc.) are now checked at application start up time. - Added the ability for TeeSQL to create NT user groups having the same name as the club abbreviation, if this user group is found not to exist. - Added the ability to check for latest releases via the CGS ftp site. The current version of the running app is compared with the latest patch available on the ftp site. If the currently running version is less than the latest version on the web site, TeeSQL will pop up an messagebox asking the user whether he wants to download the latest version. If he answers yes, TeeSQL will download the latest version from the ftp site via HTTP (port 80). Then when the download is finished, TeeSQL will ask the user whether he wants to run the patch at that time. If so, the patch will be run under the administrator logon credentials defined in 'Club Information' in the administrator setup area. The patch is run under the administrator's credentials since most terminal server clients are not given the authority to run patches. TeeSQL will warn the user who is currently running TeeSQL. - Added the ability for TeeSQL to automatically create the correct DDF files if DDF files are found not to be current or nonexistent. TeeSQL will check DDF files upon startup and will ask the user if he wants TeeSQL to extract new ones if necessary. The DDF files will be placed in the \CGS\APPS\SHARED directory. - Increased robustness of the 'Import to Profile' feature in admin options so that it truncates each field to a maximum length, ignores non numeric characters in phone numbers, validates the names of fields in the first line of the CSV file, compares the number of fields contained in each line to match the number of fields expected. - Implemented the 'Reservations as Teesheet' report in Report Finder under the 'Reservations' report group. Any filters may be added to the standard teesheet report and more than 1 day may be included if desired using the report filters. In addition, the teesheet may now be customized using TeeSQL's built in report editor. - An asterisk (*) is displayed immediately to the rigth of any date on the grid screen which is marked as closed. - Increased speed of switching between grid screen and checkin screen. - Clerks not granted the right 'CAN_SETUP' are now prohibited from entering 'Admin Options' from the grid screen. - The Day Course Graph on the right side of the Grid screen can now be used to mark times in a block. Previous versions would not properly mark the times. - The active time of the Grid Screen is now maintained when switching between courses. - All teetimes marked with usecode 'C' or 'X' will show on the Grid screen as 'Closed' or 'Starter Time' respectively. - Added three new rights for Clerks: MAX CLERK ADVANCE - number of minutes in advance from the current time that a clerk may book reservations. -1 means allow any time in the future to be booked. CAN BOOK CLOSED TIMES - set to 'Yes' to allow clerks to have the right to book into times marked as use code 'C'. CAN BOOK STARTER TIMES- set to 'Yes' to allow clerks to have the right to book into times marked as use code 'X'. - Automatic indexing into the Player List by the first few letters of the last name in the Checkin Screen shows the closest match at the top of the list rather than the bottom of the list. - Increased height of rows in the Player List of the Checkin Screen for ease of touching. - A 'Last Modified' date is now stored and displayed with each time table. - Added forced pairing window information to each course. - Added max party number to pair and min party to book info into each time of each timetable. This will provide great flexibility to limit times to WebTimes and IVR in the future. - Added new option to 'Default Player Types' section of Setup called 'Force guests to be same player type as captain'. When this checkbox is checked, TeeSQL will force all guests of captains to be the same player type as the captain himself. If this is unchecked, these guests will be set using the 'Default Player Type'. - Implemented the Setup menu option 'Webtimes' to support the configuration of various Webtimes options. - Added the ability to auto-create 2 new fixed clerks: WEB and IVR. A messagebox will be displayed when/if they are created. - Added the ability for TeeSQL to gather any user comments when sending error reports via email. - Improved email testing in Setup|Club Info|Internet Options such that you can now send a test error report to CGS support. All changes made to the 'SMTP server address' and to the 'TeeTimes Admin Email' will be effective when this error report is sent. - Increased robustness of database conversion process. - The profile player status is now automatically changed in Players|Maintain when a new expiration date is entered. - Added search textboxes to all profile help windows. - Added new clerk security right called 'can override privileges' which when set to 'Yes' allows a clerk to override any privilege restrictions given on the checkin screen. Those clerks who do not have this right will be presented with the reason why privileges are not met but will not be given the opportunity to override. - Added the ability to upload the club logo to the WebTimes server by clicking the [Upload to WebTimes...] button on the 'Logo' tab of the Club Wide Info setup area. The logo will be uploaded to whatever server is specified in the 'Webtimes' setup area. - Increased speed of load of TEESQL.INI. - Added the club phone number to the error email reports. - Added note area to Standby list requests. - Players given rainchecks are now properly colored magenta. - The clerk right, "Max Adv Time", has been modified to represent advance time in days. Previous versions were in units of minutes and therefore did not work as expected. TeeSQL now will properly prevent clerks from adding or editing reservations on days beyond this max advance time you specify in Setup|Clerks or Setup|Clerk Groups. Note that a max adv time value of -1 means to allow any day to be booked. - Added a checkbox to the Reports|Report Finder feature called 'Show Totals Only'. When this is checked, only group headers and footers are shown on a report. This is useful when you only need totals and not detail. - Added an extra check to Setup|Player Types such that TeeSQL will warn the user that an advance time must be defined for all newly added player types. The user may choose to directly go the Setup|Advance Time dialog if desired. - Implemented Revenue by Booking Source report available through the Report Finder. - Completed 'Export Profile' feature. You may now export any set of fields from the profile and optionally specify a filter to limit which profile records get exported. All fields will be enclosed with double quotation marks and will be comma delimited. - Added explanation to all Administrator Setup dialogs to explain the meaning of each concept being manipulated. - Add a hot tracking feature to the Administrator Tree. - Changed the [More] button on the Grid Screen such that it displays which page is being viewed. - Added 'First Time Setup' node to the Administrator tree. The purpose of this node is to make easy first time setup of TeeSQL. It is intended that an installer could simply go from top to bottom within this new 'First Time Setup' subtree and end up with a fully configured installation. All nodes are placed in their proper order. - Player Types, Cycle Restrictions now allows 'unlimited' as a selection on various cycle restriction criteria. - No shows are now being checked within TeeSQL. The maximum number of no shows allowed is determined by the setting in Setup|Player Types| Cycle Restrictions. If a player is marked as no show from the Grid Screen more than this number of times, TeeSQL will show an error when a clerk attempts to book that golfer. An administrator password may be required at that point if the clerk does not have the TEE_CAN_OVERRIDE_PRIVILEGES right. - A lot more explanation has been added to the concept of Forced Pairings exposed from Setup|Courses. - Setup|Group Items has been moved into the Setup|Booking Options area. - The ability to test whether department/classes are valid has been added as a convenience when defining group items. - The heading on Setup|Time Tables for the time of day column now changes to 'Sunrise+' rather than 'Time' when a table is marked as a relative time table. - The area on the Time Table Wizard confirmation page which contains the description of the time table about to be created has been enhanced to support a vertical scrollbar. - Rates are now recalculated every time players are rung out. Previous versions would only calculate the rate at booking time. With this change, rate rules can be changed after bookings are made and the new rates are guaranteed to take effect when groups are rung out. - When the booking options, Max Players Per Group value changes, the grid screen is now refreshed to represent this new number of players. Previous versions required exit from the application and restart. - When teetimes have a maximum party number (as defined by the Time Table) which is less than Setup|Booking Options|Max Players per Group, players columns are grayed out to indicate they cannot be booked due to the restrictions of that particular teetime. - Changed the locking mechanism such that it uses the process ID again rather than the thread ID. This change was causing some locking errors in version 55.40. - Times are now refreshed automatically whenever the up/down buttons are used on the Grid Screen. This will reduce the need to refresh the entire course to see changes made by other users. - Added the ability to ringout both Personal Blocks and Event Blocks. Event Block ringout allows you to select which items in the event and what quantity for each to ringout. TeeSQL will keep track of how many of each item within the event is sold. - Changed the color of the time categories displayed on the Grid Screen to exactly match that of the older version of TouchTee. These colors are more easily distinguished. - Enhanced the 'Restructure Reservations' feature such that it can restructure daycourses with Event Blocks booked on them so long as the daycourse is being reinitialized with exactly the same time table. Restructuring daycourses with the same time table is useful in that it will force a reapplication of time category, and day type rules. - Added the ability to use the [Enter] key to simulate a [OK] click on the Checkin Screen. - Optimized the logging routines so as to increase general performance. This will increase the performance when scrolling through teetimes. - Added the ability to shift-click on the Grid Screen when times are being marked for blocks. - Added a new feature to Setup|Reservations called 'Reapply Rules' which allows users to reapply time category, day type, and season rules for a range of dates and courses. Note that no groups are modified and the structure of each day is left unchanged. Bug Fixes --------- - Fixed various problems with TeeSheet report. - Fixed bug in deletion of Event Blocks from grid screen. - Fixed Double Shotgun bug in Time Table wisard so that it now properly defines shotgun 1. - Added registration as a requirement for TeeSQL. TeeSQL uses the same registration numbers as the old Admin TeeTimes. - Reworked clerk and clerk group maintenance and logic. - Fixed bug in Squeeze Time where after adding, the squeeze time would sometimes show with green backgrounds for each cell, even though no players were yet booked. - Fixed bug in scrolling grids where the use of the arrow keys would not cause the highlighted line to change. - Removed 'Active Reports Evaluation' message from the bottom of reports. - Changed background color of focused textboxes to black rather than gray to improve appearance via Terminal Clients. - Fixed bug in the checkin screen where player referencing by name did not work. - Fixed bug where clerk group in Setup Clerks portion of administrator options was not saving. - Fixed several bugs relating to personal block bookings via the grid screen. - Fixed event block wizard bug which did not save event items. - Fixed several other event block bugs. - Teed-Off can now be toggled on and off properly. - Check-In of paid players is now prohibited. - Continued debugging and enhancement of 'Revenue by Player Type' report. - Fixed bug which would cause no history to be displayed in the grid screen. - Fixed timetable wizard bug which would cause the app to hang when an invalid interval was specified. - Fixed a bug in the combo box user control which would sometimes not display a list of available choices. - Modified SQL Server login process to handle remote servers. - Increased speed of display within the Admin Rates dialog. - Fixed max rounds/day check in the checkin screen. - Fixed formatting problems in the Group Contract and Statement reports. - A combo box of available groups is now presented when printing Group reports. - Added a new command line parameter called '/C:' to allow an ASP installation to use a mapped drive for all references to \CGS. This option is not necessary in stand alone installations. - Modified directory structure so as to remove the level of abstraction of the club abbreviation. In other words, for stand alone installs, the directory structure is assumed to be: STANDALONE DATA DIRECTORY STRUCTURE =================================== \CGS \INV ' possible beta versions of Inv/POS \G ' golf inventory database (INV,INX,INS,GOLF.INI) \GP1 ' golf pos workstation 1 (INE,INR) \GP2 ' golf pos workstation 2 (INE,INR) \F ' food inventory database (INV,INX,INS,FOOD.INI) \FP1 ' food pos workstation 1 (INE,INR) \FP2 ' food pos workstation 2 (INE,INR) \TEE ' (TEE.INI, TEESQL.INI, PLAYMSTR.TEC, possible beta vers) \TEX ' \PRX ' \TEM ' ===== optional directories only ==== \TEV ' ===== used if DOS TEE running ==== \TEP ' \TET ' \REPORTS ' TeeSQL reports directory \DOC \JOB ' (PLAYMSTR.JOB) STANDALONE APPLICATION DIRECTORY STRUCTURE ========================================== \CGS ' CGS.INI (includes only 'serverName' entry for now) \INV ' (INVT.EXE/OVR, POSSQL.EXE) \TEE ' (TEE.EXE/OVR, TEESQL.EXE, TeeSQL DLLs) \SHARED ' (DDFs, Pervasive ActiveX ctls) \UTIL ' (E.EXE, E.EX, PKZIP, etc) - Fixed bug in inventory combo box which prevented the ability to display all items in an entire department. - Fixed display problem in Rules dialog which would cause the spreadsheet to shift when a row was highlighted. - Decrease font size of hours in day graph. - Fixed bug which would ring out the entire group if [RINGOUT] was pressed from the Checkin Screen (even if the entire group was not selected.) - Groups are not kept lock whenever they are added and rungout immediately from the Checkin screen. Previous versions would leave the group unlocked. - Fixed add of players to the standby list who are not chosen from the 'On-File' list such that it properly defines the captain player type to be equal to the default guest type. - Fixed bug which would allow paid groups to be pasted more than once. - Increased font size of buttons on grid and checkin screen. - Fixed bug when Ringout from Checkin screen after 'Checkin' was pressed from the grid screen. Previous versions would bring no items over to TouchPOS. - Multiple pasting of cut players is no longer allowed. - The setting in Checkin Options of Setup called 'Include Cart Fee by default' now is enforced when On-File players are selected. Previous versions would include a cart fee on all on-file players. - Hid button which showed through the group details area. - Removed the word 'Players' from the player count button on the grid screen. - Changed text used in the Group Detail area to indicate status of a player such that it fits in the space provided. - Fixed walkin types such that they reflect the setting of 'include cart fees by default'. - Changed default tree expanded in the Administrator options from Reservations to Setup. - Fixed bug in report finder where filters based on 'Date of Play' returned no days. - Fixed bugs in 'Restructure Reservations'. Restructure should now work. Any groups on teetimes which do not exist on the newly selected timetable will be put on the standby list for that day. - Modified the way that user groups are checked. - Removed the check for FPSPREAD.SPREAD activex control. - Fixed bug introduced in version 55.18 which caused an error message saying 'can not assign value to field points' when selecting a player type in the Rates dialog. - An error message is no longer presented when TeeSQL checks to see if it is running the latest version and the internet is not online. - Fixed bug which gave 'Cannot find ID' error if there were no rates defined for a player type. - Improved error messages surrounding initialization of daycourses. - Moved check for new versions of TeeSQL to *after* clerk login so that clerks can be notified of new versions but unable to actually perform the install. Only clerks granted the 'CAN INSTALL NEW VERSIONS' right will be able to choose to do the download and run the patch. - The permissions error in previous versions of TeeSQL whenever the about dialog was displayed from administrator options has been fixed. - The xp_logevent permissions error in previous versions of TeeSQL has been fixed. Note that an administrator (user with windows admin rights) must run TeeSQL at least once using version 55.22 in order to grant permission to run xp_logevent to all other users. - Changed the prefix used for Group Customers from 'G' to 'GROUP' so as to avoid conflicts with other clerks/golfers stored in the profile having IDs which start with 'G'. Previous versions would produce an error whenever a new customer was attempted to be added and a record existed in the Profile with an ID starting with 'G'. - Modified the behavior of all touchscreen buttons such that double click will be equivalent to single click. - Fixed bug where the error message "Internal error setting property BlkComboID" was shown whenever a block was selected. - Fixed bug which caused an admin override dialog box to appear when starting TeeSQL. - Block items are now shown properly on Group Contract reports. - Added a filter to the 'Group Blocks' and 'Limited Use Blocks' items of the 'Groups and Blocks' subtree of Setup. This filter allows you to view only those blocks having a particular type of item (e.g. a food and bev manager may only want to show blocks having dinner type items). - Seperated 'Time Blocks' into two menu options: 'Group Blocks' and 'Limited Use Blocks' for ease of use. - The Block Wizard now properly assigns teetimes to either the front side or the back side. Previous versions would mix the two sides. - Fixed a bug where red blocks were left on the Grid screen whenever limit use blocks were deleted. - The Expand option of Personal Blocks from the Grid Screen is now fixed. - Changed the way that confirmation emails are now processed. Now all confirmation emails sent as a result of booking a teetime are sent with a from address of 'TeeTimes Email', as defined in Setup, Club Wide Info, Internet Options. This email MUST BE HOSTED BY THE SMTP SERVER defined in this same screen. If this email is from a domain other than the ISP used, the SMTP server will reject all sending of the emails. - Corrected misspelling of 'TeeSheeet' to 'TeeSheet' in Setup. - Administrator username and password (Club Wide Info) are now correctly tested even in when the user belongs to a domain. - Existing profiles are now saved correctly from the Profile tab of the Checkin Screen. Previous versions produced a SQL insert error. - Fixed bug in Checkin Screen where player type description was not showing on players 2-6. - A messagebox is now shown in the [Find] function if no bookings are found. Previous versions would not display anything and it wasn't obvious to the user what happened. - The number of rows of the grid in Setup, Time Tables is now adjusted to the actual number of rows in the time table at hand. - Fixed bug in 'Restructure' which would cause a SQL error to happen on groups which had note lines defined. - Club name has been added to the error report emails. - Fixed bug in Grid Screen where the button which would allow you to view other details related to Block bookings was not being shown. You can now view all details of a block directly from the Grid Screen. - Fixed bug which caused error 'Error posting TEE_GROUP_BOOKED event'. - Fixed bug in Setup|Rates where the price for all inventory items selected were being displayed as whole dollar amounts, with no cents displayed. This has been fixed. - Fixed bug in checkin area where the address information was not displaying on the Profile Tab. - Default area code for phone numbers either input or imported now uses the area code as defined by 'Club Phone' in Setup|Club Info. - Fixed exception error which happened when a player type was selected in the Rates tab of Setup. - Fixed exception error which happened when a course was selected in CourseGroups for the first time. - Fixed profile window of Check-In screen such that it displays the active address according to the active addresses defined in Setup|Players|Maintain, for each month. - Added ability for TeeSQL to create any missing club info messages. - Fixed bug in teePlayerIndex insert trigger which caused an error when attempting to add a group to a teetime which had other corresponding teetimes at the same time off a different tee (e.g. 8:00 1A and 8:00 10A). - Fixed find group bug which caused teetimes to show even when those teetimes had been previously canceled. - Fixed bug in Checkin Screen which would sometimes cause players selected from the Profile to be selected more than once. - Fixed error 17 when booking personal blocks. - Fixed bug which caused error 7 while attempting to book a reservation. - Improved the error code given when a rate is not found. - The bug which caused an exception error to occur while going to the Profile tab of the Checkin screen has been fixed. - Which profile address is active is now saved correctly. - Fixed bug in Personal Block functions where expanding a personal block would cause the block times to remain highlighted and all attempts to book personal blocks thereafter would fail. - Removed unnecessary message box while updating TouchTee. - Fixed bug in block bookings which did not carry over the green fee rate for each player properly. The rate chosen in the block wizard is now saved with each player so that [Ringout] rings out the rate chosen in the wizard. - Fixed bug in the auto downloader which caused an error while attempting to run the patch using the administrator credentials. - Added check to see if previous instance of TeeSQL is running. - Fixed bug in Rates table which would say 'Do you want to save changes' immediately after adding a new rate. - All raincheck inventory items as defined in Setup|Booking Options are being properly saved. Previous versions were not saving them correctly. - There were some cases in previous versions where groups could be rung up more than once if the clerk did not move from the currently selected group. This has been fixed. - The bug which would cause TeeSQL to hang when returning from POS on a raincheck chit has been fixed. - The list of report printers available now exclude any printers exposed merely from terminal client sessions. - Fixed a bug which caused the Teesheet report to print out in strange order from the [TeeSheet] button on the grid screen. - Added error handling to routine to check for number of previous app instances. - Fixed bug in restructure feature which caused teesheets for those restructured days to appear with times of '12:00' for all times following the first time of the day. - Fixed bug in Time Table maintenance which mistakenly asked the user whether changes should be saved, even when no changes were made. - Fixed bug in Time Table maintenance which gave error 5 when attempting to update a time table which was previously copied from another time table. - Removed check to see if POS is running. - Removed check to ensure no more than 1 instance of TeeSQL running. - Fixed bug in Report Finder which prevented the ability to customize the teesheet report. Previous versions would give the error "Unable to load type..." - Fixed various bugs in 'Use Codes' dialog of administrator setup. Previous versions would not allow minimum party number to book and maximum party number to pair to be changed on internal use codes. This has been fixed. In addition, there was a bug where changes to use codes were not saving. This has been fixed also. - Fixed some problems in the Time Table wizard having to do with generation of templates with shotguns. Previous versions were very senstive to the time intervals, stop and start time of shotguns. Now shotguns are simply inserted into the times in which they fall in the template. - Fixed description of each Club Message. Previous versions were not showing the correct description of each club message. - Fixed exception error which would ocurr occasionally in the Setup|Clerks dialog. - The default estimated time/hole for each course is now 13 rather than 10 minutes. - Removed the ability for textboxes in TeeSQL to restore their original text if backspace pressed when no more characters existed in the textbox. - Profile events which have nothing to do with a particular player (e.g. group events) are now logged under profile autoID 1. Previous versions would log these events under the autoID of the captain of the group. - Fixed bug in cancelGroup transaction which caused an error to be produced when canceling an entire group. The error said 'Error posting TEE_GROUP_CANCELED event'. - Fixed bug which prevented player bookings into shotguns. - A bug in the Restructure function has been fixed. This bug caused unusual ordering of players in groups which were transferred over from the original day to the new day. - Player Type ID is not allowed to be edited after a player type has been created. Player Type IDs may not be changed since profile players, rate rules, etc. are based on the player type ID. - TeeSQL will now read from the \CGS\CGS.INI file, [General] section, 'clubAbbrev' entry to determine the club abbreviation if no club abbreviation is supplied on the command line. - Fixed bug which changed the rate code for a player back to his original rate code for his player type *even if* that player's type was changed to a walkin type. - Fixed bug which gave an error reading group whenever a group was deleted on a row and another one immediately added into that *same* row without leaving the original row. - Fixed a bug in the Event Block Wizard which would give the error 'Customer Contact ID 0 does not exist in the cgsProfile.' This error would prevent more than 9 group customers from being added. - Fixed a bug in the 'Restructure Reservations' feature which would delete the scrolling note for the day. These notes are now maintained. - Added code to prohibit the 'Cannot open more than one datareader' error. - Fixed exception error which ocurred when printing teesheets for 'all courses.' ======= End List of Changes Version 56 ===========