Commit graph

91 commits

Author SHA1 Message Date
Peter Goodhall
ac23397727 Add DX Cluster tab to QSO interface
Introduce a DX Cluster tab to the QSO view and user settings. This change:

- Enables a new qso_form option 'dxcluster_tab' in controllers (Qso.php, User.php) so the tab can be toggled per-user.
- Adds a user preference toggle in the user edit view to show/hide the DX Cluster tab.
- Implements the DX Cluster UI in the QSO index view: tab button, controls (band select, hide RBN), spot table and click-to-fill behavior.
- Adds client-side JS to manage a WebSocket to wss://dxc.cloudlog.org, maintain and render recent spots in a DataTable, persist filter preferences, sync band selection with the QSO form/radio, and batch-check worked status via the dxcluster/check_worked endpoint.

Files changed: application/controllers/Qso.php, application/controllers/User.php, application/views/qso/index.php, application/views/user/edit.php.
2026-03-27 22:29:25 +00:00
Peter Goodhall
20570ba343 Add configurable QSO form field visibility
Introduce per-user visibility settings for QSO form fields and tabs. Load qso_form options in QSO and User controllers (with sensible defaults), apply them to the qso view to conditionally render fields/tabs, and save changes from the user edit form. Add a QSO Form accordion in user/edit.php exposing switches for each field/tab, update user save logic to persist each option, and include client-side JS in qso/index.php to toggle USA state/county and DOK fields based on DXCC selection. Files changed: application/controllers/Qso.php, application/controllers/User.php, application/views/qso/index.php, application/views/user/edit.php.
2026-03-27 18:11:22 +00:00
Peter Goodhall
bcae0c8782 Add optional map greyline layer (terminator)
Add a day/night greyline (terminator) overlay to the dashboard map.

- New assets/js/leaflet/L.Terminator.js: a Leaflet polygon plugin that computes the solar terminator for a given time and exposes L.terminator().
- Load the terminator script in the footer and register a Greyline overlay layer with start/stop interval updates (refreshes every minute). Updates are managed when the overlay is added/removed or when the map unloads to avoid orphaned timers.
- Expose the greyline as a toggleable overlay in the map layer control and add markers to a dedicated markersLayer overlay (instead of adding them directly to the map).
- Add a user preference checkbox to application/views/user/edit.php (Enable Dashboard Map Greyline Layer) and wire saving/reading of the dashboard_map_greyline option in application/controllers/User.php and application/controllers/Dashboard.php. Default behavior is enabled when not set.

This change lets users enable/disable the visual day/night terminator on the dashboard map and ensures proper lifecycle handling for updates and marker layering.
2026-03-26 22:39:04 +00:00
Peter Goodhall
36757e3e34 Add option to count satellite QSOs in DXPeditions
Introduce a user preference to treat satellite QSOs as "worked" for DXPedition status and wire it through the UI, controller, and model. Changes: add dashboard_dxpedition_sat_worked default and POST handling in User controller, add checkbox to user settings view to toggle the option, update Workabledxcc_model to optionally include satellite results when computing workedBefore via a new shouldIncludeSatelliteWorked() helper, and tweak upcoming_dxccs view styling and row classes to visually indicate worked vs needed DXPeditions. This makes DXPedition cards respect users' preference for counting satellite contacts.
2026-03-26 15:00:56 +00:00
Peter Goodhall
6e43503116 Enforce unique callsigns and protect last admin
Add callsign uniqueness checks and prevent demotion of the last admin. Introduces ECALLSIGNEXISTS and ELASTADMIN constants, new model methods (exists_by_callsign, count_admin_users, would_remove_last_admin) and integrates checks into add/update flows to return appropriate error codes. Update User controller to add validation callbacks (check_unique_callsign, check_last_admin_role) and wire errors into multiple user actions. Update signup/edit views to display callsign and usertype validation feedback using Bootstrap invalid-feedback and improve alert layout.
2026-03-26 14:22:02 +00:00
Peter Goodhall
0848a9b4c0 Add open registration and public signup feature
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.
2025-12-02 18:10:37 +00:00
Peter Goodhall
ac27e6a653 Add welcome email feature for new and existing users
Introduces functionality to send a welcome email with credentials to new users upon creation and allows admins to resend a reminder email (without password) to existing users. Adds email templates, UI options for sending emails, and improves user management interface with new actions and enhanced layout.
2025-11-22 15:23:47 +00:00
Peter Goodhall
e6ecfa4f1b Require Clublog username to be a valid email address
Enforces that Clublog usernames are valid email addresses throughout the application, reflecting Clublog's policy change to no longer accept callsigns as usernames. Updates validation in controllers, models, and views, adds a migration to clear non-email usernames, and updates language files in multiple languages to clarify the requirement.
2025-10-13 13:40:56 +01:00
Peter Goodhall
4d10db1fc0 Fixed winkey state errors 2025-07-15 14:23:53 +01:00
Peter Goodhall
7156b185e1 add option to turn on websockets for winkey 2025-05-28 13:38:25 +01:00
Peter Goodhall
191f5591ba Improved handling of Callbook Data 2024-10-30 15:13:58 +00:00
Peter Goodhall
b36c8a4cd1 [Callbooks] Login information stored in user account
this is a breaking change you need to update your callbook preferences in your account under third party services
2024-10-03 14:46:11 +01:00
Peter Goodhall
c33ce3fdbb Cleaned up code a bit 2024-05-02 13:48:45 +01:00
Peter Goodhall
9037bf8dad Catch any errors 2024-05-02 12:12:40 +01:00
Peter Goodhall
f60e909459 improved encryption 2024-05-01 21:57:25 +01:00
Peter Goodhall
6aadfbf74a Update User.php 2024-05-01 10:53:51 +01:00
Peter Goodhall
6120574bd3 Remember Me: pickup the cookie prefix if one is there 2024-05-01 10:47:00 +01:00
Peter Goodhall
2c0e9b8c5d set a debug message 2024-04-30 17:26:26 +01:00
Peter Goodhall
471c83a8b8 Impliments a simple remember me feature for 14 days
Starts to impliment #3087 this has a remember me for 14 days
2024-04-30 14:48:47 +01:00
Peter Goodhall
c7718d675c Impliments HTMX for the user delete so that you never leave the main table display 2024-04-10 15:15:54 +01:00
Peter Goodhall
0bc7f44e26 fixes issues with card enabling when creating new user 2024-04-10 15:04:07 +01:00
Peter Goodhall
abda7fb663 [Dashboard|User] Control over what cards are shown on the dashboard 2024-03-19 14:38:33 +00:00
Antony Bailey
1eb655b5a2
Merge branch 'dev' into patch-1 2024-03-13 16:44:52 +00:00
Antony Bailey
7b45746481
Remove extra comma causing error 2024-03-13 16:21:06 +00:00
Peter Goodhall
1818530c9d Returns the correct hamsat user fields 2024-03-11 18:31:23 +00:00
Peter Goodhall
c2b1777590 Fixes errors when the fields arent there 2024-03-11 18:15:23 +00:00
phl0
9a79cbcfcd
Add option to configure private feed key and show only workable passe 2024-03-09 08:49:12 +01:00
xssfox
db3c5e9f24 remove gendered language 2024-02-08 16:20:32 +11:00
HB9HIL
194793e3ae back to plain text email 2024-01-01 12:49:24 +01:00
HB9HIL
c001b66364 comments 2024-01-01 02:44:03 +01:00
HB9HIL
1697e9863f set last login timestamp when login 2024-01-01 02:08:12 +01:00
HB9HIL
774c6f5236 password reset flash messages 2024-01-01 01:30:40 +01:00
HB9HIL
c7367844d2 admin passwort reset 2024-01-01 01:01:10 +01:00
abarrau
cbb93e89de change edit view for use on add view 2023-12-17 19:16:23 +01:00
int2001
f56acc7765
Included QRZ.com to choser at maps and at default-QSL-Settings 2023-12-08 07:17:01 +00:00
abarrau
6244681069 Map custom function (eng lang) 2023-11-30 18:11:22 +01:00
HB9HIL
61d4c15ec0 crlf and newline bugfix 2023-11-22 14:51:45 +01:00
HB9HIL
8b52d06df2 removed crlf and newline (not needed) 2023-11-21 22:15:05 +01:00
HB9HIL
9d020aca84 email fix 2023-11-21 10:22:14 +01:00
HB9HIL
a2c4a8e743 added user_quicklog_enter 2023-11-05 12:29:59 +01:00
HB9HIL
6be6309d0f added quicklog to User Controller 2023-11-04 18:31:46 +01:00
HB9HIL
671ae9f4ce added translation for user edited success banner 2023-11-02 21:24:18 +01:00
phl0
973d76eeb5
Add option to log QSO end times separately
Squashed commit of the following:

commit 595f620d9e
Author: phl0 <github@florian-wolters.de>
Date:   Wed Nov 1 13:58:05 2023 +0100

    Update languages

commit f670a06059
Author: phl0 <github@florian-wolters.de>
Date:   Wed Nov 1 13:55:04 2023 +0100

    Added user option for enabling QSO end time logging

commit 36d9a95ebb
Merge: 54d5bb53 352931b1
Author: phl0 <github@florian-wolters.de>
Date:   Wed Nov 1 12:18:39 2023 +0100

    Merge branch 'dev' into qsoTime

commit 54d5bb535b
Author: phl0 <github@florian-wolters.de>
Date:   Fri Oct 27 10:14:58 2023 +0200

    start/end times for other languages

commit c5f6bb0cab
Author: phl0 <github@florian-wolters.de>
Date:   Fri Oct 27 10:14:42 2023 +0200

    Hide end time if only differs in seconds as we only display minutes
    anyway ...

commit d519d88604
Author: phl0 <github@florian-wolters.de>
Date:   Fri Oct 27 10:14:29 2023 +0200

    use start as end time if end is not set separately

commit f2588ad132
Author: phl0 <github@florian-wolters.de>
Date:   Fri Oct 27 10:13:43 2023 +0200

    reset timers on form reset

commit 2b7ee4e48c
Author: phl0 <github@florian-wolters.de>
Date:   Fri Oct 27 10:13:27 2023 +0200

    Strip seconds from session time variable

commit e0c35aa0cf
Author: phl0 <github@florian-wolters.de>
Date:   Fri Oct 27 10:13:11 2023 +0200

    Adapt contest logging

commit 5368ef25f3
Author: phl0 <github@florian-wolters.de>
Date:   Fri Oct 27 10:12:50 2023 +0200

    Make date field a little smaller

commit ad2d7e756c
Author: phl0 <github@florian-wolters.de>
Date:   Fri Oct 27 10:12:30 2023 +0200

    Add button to reset start time

commit f56e031946
Author: phl0 <github@florian-wolters.de>
Date:   Fri Oct 27 10:11:09 2023 +0200

    Copy start to end time on focus out

commit b741d0428d
Author: phl0 <github@florian-wolters.de>
Date:   Fri Oct 27 10:10:45 2023 +0200

    Only min and sec for post QSO template

commit 77314edd31
Author: phl0 <github@florian-wolters.de>
Date:   Fri Oct 27 10:08:49 2023 +0200

    Basics for QSO end time logging
2023-11-01 14:24:13 +01:00
phl0
886829ba42
Rename default band and confirmation values in DB 2023-10-16 22:39:33 +02:00
Peter Goodhall
e6004d0c12 [Account][Winkey] Allows users to enable and disable winkey via their account settings 2023-08-03 13:59:02 +01:00
int2001
bca73b1295
Commented migscript, Added lang-choser to Useradd 2023-08-02 07:06:34 +00:00
int2001
5d98554999
Fixed lifetime of cookie and language-loading 2023-08-02 06:37:56 +00:00
int2001
c8ea174030
Implemented Userlanguages with a lot of help from @AndreasK79 2023-08-02 06:34:12 +00:00
int2001
9a8ab050cb SecFix: Added checking for session when editing or watching profile 2023-07-14 11:00:39 +00:00
phl0
08c7e65271
Make band and QSL type user select- and storable 2023-07-07 16:04:19 +02:00