Commit Graph

121 Commits

Author SHA1 Message Date
Filip Melík
e6fcd611b4 Extract recent QSO count in QSO page to a constant 2025-01-27 19:45:05 +01:00
Fabian Berg
c70c2ec5cd Clubstations for Wavelog (#1334)
* feat[clubstations]: New DB structure

* feat[clubstations]: Add clubstationstable in user managment

* feat[clubstations]: Show last operator

* feat[clubstations]: Better solution for last operator. tnx for the hint @int2001

* feat[clubstations]: New Club Model and Controller

* feat[clubstations]: Add "Add User" and "Edit User" functionality

* docs[clubstations]: move comment

* feat[clubstations]: Add "Delete Member" functionality

* feat[clubstations]: some enhancements and javascript

* fix[clubstations]: Wrong message class for flashmessages

* feat[clubstations]: Added Switch in the Header menu (not functional yet)

* feat[clubstations]: clubswitch modal

* fix[clubstations]: Load encryption library if not already loaded

* fix[clubstations]: Prevent direct login attempts to clubstations and enhance impersonation authorization

* fix[clubstations]: Typo

* feat[clubstations]: Only show the operator dialog if there is something fishy

* fix[user]: little UI bug

* feat[impersonate]: Add source uid to session data

* fix[impersonate]: logic adjustment

* feat[clubstations]: Add manage button in header menu for club officers

* fix[clubstations]: typo in permission level check

* fix[clubstations]: Full rights for the admin

* feat[impersonate]: Custom sessiondata

* feat[impersonate]: Implement stop impersonation feature with modal confirmation; "the way back"

* fix(modal): Fix bug where modal was hidden when mouse leaved the browser content

* docs(config): Adjust config description for special callsigns and clubstations

* feat(club): Add club access check helper

* typo

* fix[impersonation]: Better text

* feat(club): Selectize for a efficient user search

* feat(clubstations): Restrict clubstations based on users permission level part 1/x

* adjustments for dev merge

* Adjusted club right for the advanced logbook

* feat[user]: Refactoring of the Action Buttons in the user table

* fix[club_permissions]: normal button instead small one for club permissions

* remove unnecessary line break in modal body

* feat[clubstations]: Add Club Mode badge to the header

* fix[clubstations]: fix maintenance mode

* allow switch back on http

* feat(simplefle): display operator input based on club_access

* small UI adjustments

* small UI adjustments

* moved api page to a index.php file and added support for clubstations

* removed unused stuff

* typo

* radios and api keys

* missed one binding

* fix qso view, even officers do just see their own radios in QSO logging

* omit the need for a relogin to see the changes as an admin

* Omit the need for relogin after club changes in general. It's a question of UX. It's better to accept a little higher DB load (if clubstations are enabled) then the need of an user to relogin. There is some room for improvement by changing user_model->get_by_id() and adding a join there. This can be done later if we see that the load is too high

* If the user is not the creator of the API key, it's likely a clubstation. In this case the callsign of the clubstation can not be the same as the callsign of the user (operator call provided by the user). If this is the case, we need to use the callsign of the creator of the API key

* remove debug messages

* better UI in header

* found a typo

* full access in clubstations for admins (if accessed via admin usertable)

* adjusted text

* adjusted text

* adjust text

* reduce required chars

* bugfix: missing the correct authentication in case the admin was not member of the club. he wasn't able to switch back

* reduce debug messages

* fixed UI bug related to tooltips

* load js in controller

* upps..

* some UI adjustments

* corrected permissions

* if user gets delete we need to remove data in club_permissions and also api keys which were created by this user

* Notify members about new memberships or changes in permission level

* add spinner to save button

* make login/logout process more bulletproof

* remove the relogin cookie after the attempt

* better strategy

* bug where switch back failed if user is no admin

* make api keys more secure

* mask not owned api keys

* removed annoying link

* if a user gets removed from a club we also should delete the corresponding api keys and cat radios

* adjusted wiki link

* Auto creation of logbook and location when new user is created

* store and display locator in uppercase

* same for callsign

* fixed a bug in user/club creation

* Revert "Auto creation of logbook and location when new user is created"
We found another solution to which will be addressed in a second PR
This reverts commit f05f4b7bf0.

* Optimized SQL for stats at userlist

* Source query for lastop "out", because mysql<9.0 can't handle Windowed functions

* adjust migration

* add new columns to users table to get created_at and modified_at

* added a partial down function

* add operator dropdown for clubstations

* fix mig version

* Add some backend restrictions in case a user wants to try something funny with the club

---------

Co-authored-by: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com>
Co-authored-by: int2001 <joerg@dj7nt.de>
2025-01-02 10:22:23 +01:00
HB9HIL
e5d062e408 share modal implementation 2024-12-26 14:01:00 +01:00
int2001
d458465af6 Added ability to log mail at qso 2024-11-12 10:24:27 +00:00
HB9HIL
f91fffc6ca user_options_model is already part of the autoloader 2024-10-21 15:21:11 +00:00
HB9HIL
ffdeaf8812 initial proof of concept 2024-09-19 18:13:56 +02:00
HB9HIL
b069db1d7c ?? '' for station power 2024-09-12 12:54:30 +00:00
phl0
f2039965a2 Add input/edit boxes and corresponding functions 2024-09-02 12:27:57 +02:00
phl0
88e006ef2d Prevent QRA lib being loaded over and over again (and spilling debug
log)
2024-08-27 12:36:50 +02:00
Andreas Kristiansen
531e973810 [Winkey] Did a little touch up of the code here 2024-08-19 10:10:20 +02:00
HB9HIL
5dee1b9968 You're not allowed to do that! 2024-08-16 10:08:44 +02:00
HB9HIL
4aef2c8008 removed doubled xss clean 2024-08-13 21:54:35 +02:00
HB9HIL
6a5309621c xss cleaning in qso controller 2024-08-13 11:04:36 +02:00
HB9HIL
98f1677144 Merge branch 'dev' into default_radio 2024-08-06 17:18:44 +02:00
github-actions
fc25037cfb xss_cleaned some more GET inputs 2024-08-06 13:16:20 +02:00
github-actions
acab506dcb more hard test for the get parameter 2024-08-06 13:04:55 +02:00
github-actions
c6bd33d16a show which radio was last updated 2024-08-06 00:04:59 +02:00
github-actions
b00de6ffd7 fix xss vulnerability 2024-08-05 21:08:19 +02:00
HB9HIL
d9145a0fe7 Merge branch 'dev' into files 2024-07-14 11:38:32 +02:00
HB9HIL
0110270f93 renamed folder 2024-07-13 20:17:38 +02:00
phl0
e8125f6b17 Add hint to QSO edit form 2024-07-12 14:17:28 +02:00
HB9HIL
cddfde17b7 path and copy adjustments 2024-07-11 23:01:12 +02:00
HB9HIL
2970355f5c write radio and active station directly in session 2024-07-01 09:58:54 +02:00
HB9HIL
2a5c6538aa page titles 2024-06-08 11:01:59 +02:00
HB9HIL
2bbab02696 Merge remote-tracking branch 'upstream/dev' into alpha 2024-06-07 13:02:30 +02:00
HB9HIL
8ae5723d14 get rid of unnessesary lang loads 2024-06-06 10:47:30 +02:00
HB9HIL
12e4841b47 removed loading of frequency library (is part of autoload) 2024-06-03 16:04:38 +02:00
phl0
4777f0674c Catch frequency being null / empty 2024-05-20 17:48:26 +02:00
phl0
06205da573 Make DOK switchable to QSO tab 2024-03-22 08:35:02 +01:00
phl0
0671c99b0d Make SIG/SIG_INFO switchable 2024-03-22 08:26:26 +01:00
phl0
db816ff3f4 Make POTA switchable 2024-03-22 08:15:45 +01:00
phl0
907f0798c6 Make WWFF switchable 2024-03-22 08:06:54 +01:00
phl0
7b31239245 Make SOTA switchable 2024-03-22 07:57:31 +01:00
phl0
acf9e6d5ad Make IOTA reference switchable to QSO tab 2024-03-22 07:16:04 +01:00
HB9HIL
fa3fbeebda move get_county function to lookup 2024-03-07 09:47:49 +01:00
Florian (DF2ET)
a54dd87306 Merge pull request #181 from int2001/qso_resetter
Qso Reset
2024-03-04 16:37:25 +01:00
Andreas Kristiansen
4bbfe1b07e Station setup (#175)
* The start of station setup

* Added modals new logbook and new location

* Added 1st JSON-Create Logbook (PHP)

* Added 1st JSON-Create Logbook (JS)

* Changed to small buttons

* A bit more errorhandling (JS)

* Moved collecting of params to controller and added errorhandling

* Added Delete-Function (with confirmation)

* Moved view to new folder and added delete Logbook

* Added AJAX for setActive Book

* Added AJAX for setActiveBook (JS)

* Partially working reload logbook table

* Dynamic loading of logbooks (PHP)

* Dynamic loading of logbooks (JS)

* Reload location table

* Removed duplicate return statement

* Fixed Zoo of params to JSON-Out

* Fixed RenderBug (not yet finished) at JS

* Fixed DT error

* Fixed CSS

* Changed setActiveStation from link to Ajax (PHP)

* Changed setActiveStation from link to Ajax (JS)

* Added confirmation to changeActiveStation

* Changed EmptyStation to AJAX (PHP)

* Changed EmptyStation to AJAX (JS)

* Changed DeleteStation to AJAX (JS)

* Changed DeleteStation to AJAX (PHP)

* Tidy up code a little

* Re-added favorites

* Ajaxyfing favorite location

* Fixed clicking on favorite

* Fixed favorite star

* Tweaked new logbook dialog

* Fixed public search badge

* Fix badges on first load

* Reloads stations on load

* Redirect to station setup

* Re-added translation

* Fixed more badges

* Added menu item translation

* Header with translated menu

* Updated warning links on dashboard to go to station setup

* Added missing lang lines for Polish and Czech

* Changed links in Quickswitch to station setup

* station setup in quickswitcher

* Make station location ID a separate (and sortable) column

* Added missing ID

* Relocated eQSL-Thing to station_model to reduce redundancies

* Removed Debug-Stuff

* Moved get_options to get_default_eqsl_message within QSO-Controller

* Moved generic get_options to more specific get_eqsl_default_message

* Removed loading of options_model, since it is already loaded via "autload"...

* dynamic quickswitcher

* disabled button for active location

* typo

* removed empty unused function

* comment

* reload stationsetup list if we are on this page

* don't grey out the locations

* dynamic loading in both directions

* rename function to make it more clear

* readability

---------

Co-authored-by: int2001 <joerg@dj7nt.de>
Co-authored-by: Joerg (DJ7NT) <int2001@users.noreply.github.com>
Co-authored-by: HB9HIL <fabian.berg@hb9hil.org>
Co-authored-by: phl0 <github@florian-wolters.de>
2024-03-03 21:52:51 +01:00
int2001
7673b5c22d Added Fullreset Logic (PHP) 2024-02-28 14:14:29 +00:00
HB9HIL
d404d62aee removed todo comment 2024-02-17 19:08:28 +01:00
int2001
4dcb795c9f Small adjustments 2024-02-05 12:12:11 +00:00
int2001
10a36920c8 Added notification and reloading of QSO-Table 2024-02-05 10:34:00 +00:00
int2001
a232b09e0f Change qso-save to ajax-return 2024-02-05 10:01:12 +00:00
int2001
9b4ced1889 Trying to convert the QSO-Post to an ajax call PHP/Part 2024-02-05 09:37:52 +00:00
int2001
519ddd03b7 Enable concurrency, where session is ONLY readed afterwards in same process 2024-01-13 11:06:05 +00:00
phl0
74d37b1e22 Allow 10-digit grid in QSO input 2023-12-13 07:13:55 +01:00
Peter Goodhall
79bb03ac92 Merge pull request #2746 from int2001/bandmode_validate
Check if Band/Mode is provided.
2023-11-29 22:14:22 +00:00
int2001
9831934ff0 Check if Band/Mode is provided. Sometimes there are hiccups where Band/Mode is not given 2023-11-29 18:32:42 +00:00
abarrau
d3a1f9ab76 eQSL default msg add function (english lang) 2023-11-29 14:17:58 +01:00
phl0
973d76eeb5 Add option to log QSO end times separately
Squashed commit of the following:

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

    Update languages

commit f670a0605923e3e3e50548cdc6872afce620d2bb
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 36d9a95ebbebb6cdcdd382d1460dd858b425e1c7
Merge: 54d5bb53 352931b1
Author: phl0 <github@florian-wolters.de>
Date:   Wed Nov 1 12:18:39 2023 +0100

    Merge branch 'dev' into qsoTime

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

    start/end times for other languages

commit c5f6bb0cab5dd3b38d1d74ec1a666c82a71929d6
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 d519d88604bf1730a1c2e0631a6047326fa57a56
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 f2588ad1321df63d6840f33c05700f55eb681f9c
Author: phl0 <github@florian-wolters.de>
Date:   Fri Oct 27 10:13:43 2023 +0200

    reset timers on form reset

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

    Strip seconds from session time variable

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

    Adapt contest logging

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

    Make date field a little smaller

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

    Add button to reset start time

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

    Copy start to end time on focus out

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

    Only min and sec for post QSO template

commit 77314edd31be56469d1355b95287e580e8414d8b
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