-
-
Notifications
You must be signed in to change notification settings - Fork 199
Tag 2.8.2 #3387
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Changed the FFMA award description from 'Flora and Fauna in Marche Award' to 'Fred Fish Memorial Award' for accuracy.
Deleted the 'Award Settings' dropdown item from the header navigation to streamline the menu options.
Introduces open registration settings in the options area, allowing administrators to enable or disable public user signup. Adds a registration options page, updates sidebar navigation, and implements a public signup form and controller logic. Also refines user model to ensure correct data types for user fields and updates language strings for registration. The login page now links to signup when open registration is enabled.
Replaces direct join with lotw_users table by joining a subquery that selects the latest lastupload per callsign. This improves performance and ensures only the most recent LOTW upload date is included for each callsign.
Replaces direct joins to lotw_users with subqueries that select the latest (MAX) lastupload per callsign in Distances_model, Logbook_model, and Logbookadvanced_model. This ensures only the most recent LoTW upload per callsign is joined, improving data accuracy and preventing duplicate join results.
Changed the import logic to deduplicate LoTW users by callsign, keeping only the latest timestamp for each callsign. Updated batch insertion to process only unique callsigns and improved reporting to show both total records read and unique callsigns inserted.
Introduces logic to detect and enforce centrally managed email settings. When managed, email options are displayed as read-only and cannot be changed by users; attempts to save changes are blocked with a notice. The email options view now conditionally renders a read-only summary and test email form if management is enabled.
Added FontAwesome icons to options pages and sidebar for better visual distinction. Improved the options index page with overview cards for each settings category. Updated CSS for active and hover states in the options sidebar, providing a more modern and user-friendly interface. Added a subscription management link to the header if configured.
Simplifies the QRZ data download process by removing the custom date selection logic. Now, all QRZ data is downloaded regardless of the date specified in the request.
Introduces migration 238 to update the application version to 2.8.2 and trigger the version info dialog for users. Updates the migration version in the configuration to 238.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR is being reviewed by Cursor Bugbot
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| $sql .= 'JOIN `station_profile` ON station_profile.station_id = qsos.station_id '; | ||
| $sql .= 'LEFT OUTER JOIN `dxcc_entities` ON dxcc_entities.adif = qsos.COL_DXCC '; | ||
| $sql .= 'LEFT OUTER JOIN `lotw_users` ON lotw_users.callsign = qsos.COL_CALL '; | ||
| $sql .= 'LEFT OUTER JOIN (SELECT callsign, MAX(lastupload) AS lastupload FROM lotw_users GROUP BY callsign) lotw ON lotw.callsign = qsos.COL_CALL '; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: SQL alias mismatch causes query to fail
In the activated_grids_qso_details function, the JOIN was changed to alias the subquery as lotw, but the SELECT clause on line 545 still references lotw_users.callsign and lotw_users.lastupload. This alias mismatch will cause the SQL query to fail with an "unknown column" error since lotw_users is no longer a valid table alias after the change.
Additional Locations (1)
| </script> | ||
|
|
||
| <?php } else { ?> | ||
| <!-- Normal email configuration form --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Missing form opening tag prevents email settings save
The email settings form in the non-managed section is missing its opening form_open('options/email_save') tag. The diff shows this line was removed but not re-added in the else block. The form fields (emailProtocol, smtpEncryption, etc.) and the closing </form> tag exist, but there's no opening form tag, so the Save button at line 164 won't submit the form data to email_save. Users will be unable to save email configuration changes.
This pull request introduces several significant enhancements and fixes across the application, focusing on user management, award settings, open registration, LoTW user import deduplication, and managed configuration enforcement. The most important changes are grouped and summarized below.
User Registration and Management:
application/controllers/User.php)Options.php, allowing admins to control open registration settings, including the ability to disable or enable public signup and handle managed deployments. (application/controllers/Options.php)application/language/english/options_lang.php)Award Settings:
Awardcontroller to handle displaying and saving award preferences, including endpoints for activating/deactivating all awards and saving individual award settings. (application/controllers/Award.php)application/language/english/awards_lang.php,application/language/bulgarian/awards_lang.php,application/language/czech/awards_lang.php,application/language/dutch/awards_lang.php,application/language/chinese_simplified/awards_lang.php,application/language/finnish/awards_lang.php,application/language/french/awards_lang.php,application/language/german/awards_lang.php,application/language/greek/awards_lang.php) [1] [2] [3] [4] [5] [6] [7]LoTW User Import Deduplication:
application/controllers/Update.php) [1] [2] [3]Managed Configuration Enforcement:
application/controllers/Options.php) [1] [2]Other Notable Changes:
migration.phpto reflect the new database schema state. (application/config/migration.php)application/controllers/Qrz.php)These updates collectively improve user onboarding, system manageability, award tracking, and data integrity.
Note
Introduce award menu preferences, open user registration, managed email overrides, and LoTW import dedup with related query updates; tag version 2.8.2.
Awardcontroller, views (awards/settings), JS (assets/js/sections/awards.js), and nav integration to let users show/hide specific awards.awardxusertable and modelAwards_modelto store per-user award visibility; bulk activate/deactivate endpoints.User::signupwith validation, defaults, and optional welcome email; login page link when enabled.Options::registration(+registration_save) and new viewoptions/registration; language strings for registration options.managed.php; override email options inOptionsLib::get_option(managed_* keys).disable_open_registration..gitignoreignoresapplication/config/managed*.php.lotw_usersimport by callsign keeping latestlastupload; batch inserts and revised counters.lotw_usersjoins with subquery selectingMAX(lastupload)across multiple models for correct/latest data.237_add_awardxuserand238_tag_2_8_2; bumpmigration_versionto238.assets/js/sections/awards.jsfrom footer.Written by Cursor Bugbot for commit 3acfa64. This will update automatically on new commits. Configure here.