Commit Graph

110 Commits

Author SHA1 Message Date
e5629e2a1b Store the owner UserManager in User as an ObjectID. 2025-05-11 18:49:11 +02:00
704cea8354 Docs for the new methods. 2025-05-11 18:42:47 +02:00
066e88e336 Store the owner UserManager in User. 2025-05-11 18:37:59 +02:00
5c752900dd Docs for UserManager. 2025-05-11 18:25:38 +02:00
31dd5d436c Print an error if more than one UserManagers are trying to become the global instance. 2025-05-11 14:57:18 +02:00
a2309aa272 Now UserManagers have a register_as_global property. A manager will only try to set itself as the global manager if it's set to true (default). 2025-05-11 14:51:57 +02:00
4016579f23 Docs for UserDB. 2025-05-11 14:29:22 +02:00
272aeb775d Don't use the changed signal to get a User to save itself. 2025-05-11 14:23:39 +02:00
b770c07a32 Always just defer call to the active UserManager or error in UserDB.
- Having an optional separate User list in UserDB when there is no
UserManager can lead to subtle bugs, so it got removed.
- It also had other limitations, like it was not possible to setup Users
properly, which could also lead to subtle bugs.
2025-05-11 14:10:32 +02:00
d8aa3140e1 Removed unused enum from User.
Note that WebPermission had the same enum if needed.
2025-05-11 11:53:15 +02:00
ebab8f1e0c Docs for the User class. 2025-05-11 11:50:32 +02:00
b438b2b35a Improve comment. 2025-05-11 11:50:20 +02:00
da142951ec Re-extracted class docs. 2025-05-11 08:49:52 +02:00
7c109ad4a0 Added read_try_lock and write_try_lock to User and UserModule. 2025-05-11 08:48:41 +02:00
516236de23 Added some comments to User. 2025-05-11 08:42:32 +02:00
0b56f22f87 Use module names instead of indexes if they are available in User::_from_dict() and User::_to_dict(). 2025-05-11 08:26:55 +02:00
abd7a0660e Write and read lock modules in User::_to_dict() and User::_from_dict(). 2025-05-11 08:20:07 +02:00
0e79057d11 Guard against bad indexes in User::_from_dict(). 2025-05-04 20:24:42 +02:00
45f2f77a58 Re-extracted class docs. 2025-05-03 22:12:14 +02:00
7937fb6cae Disable internal process for UserManagerFile. It's not needed anymore. 2025-05-03 21:11:41 +02:00
3894d36ad3 Fix User::_from_dict() using wrong dictionary keys. 2025-05-03 20:53:47 +02:00
0927580e78 Fix saving files in UserManagerFile. 2025-05-03 20:51:16 +02:00
7ef5b152bc Fix calling the new _create_user() method in UserManager. 2025-05-03 20:41:28 +02:00
e9e2e72665 Now UserManager::_create_user() has a User as a parameter.
This shoukld make it easier to customize user creation. Similar idea to
how TerrainWorld's _create_chunk() works.
2025-05-03 20:25:32 +02:00
ca1f9c7674 Improved UserManagerFile's internals. 2025-05-03 20:13:52 +02:00
fd13bb3c51 Now get_all_as_vector() in UserManager is not virtual anymore. Also removed other implementations.
- This had to be done as get_all_as_vector() cannot be customized by
scripts, and if an inherited UserManager needs to set up UserModules
this will cause issues later down the line.
- Other solutions like a user_setup() method could also work, but then
that would cause more individual (non-optimizable) lookups to db-based
backends (and likely others too), so this solution seems to be the best
currently.
2025-05-03 17:07:24 +02:00
8a1981d1b8 Fix calling the wrong method in UserManager. 2025-05-03 16:57:34 +02:00
a52e1f168a Re-extracted class docs. 2024-12-10 23:00:02 +01:00
14100c3ac0 Added a method to get all users from the UserDB and UserManagers. 2024-11-20 21:57:35 +01:00
c09474ccd8 Re-extracted class docs. 2024-09-20 10:03:06 +02:00
36622694ee Re-extracted class docs. 2024-09-08 17:02:09 +02:00
aa622685d0 Clang format everything. 2024-07-21 10:40:17 +02:00
82296c9f19 Renamed the render_menu property in UserWebPage to should_render_menu, as there is a render_menu method in WebNode. 2024-07-19 08:37:03 +02:00
e8cabe7657 Don't create any accounts in UserManagerDB::_create_default_entries(). 2024-07-18 08:09:11 +02:00
6783cb92ab Re-extracted class docs. 2024-04-26 17:32:25 +02:00
6a6d3acd96 Clang format everything. 2024-03-01 11:56:19 +01:00
af2ef6476e Document the new methods, also expression substitution. 2024-02-26 19:03:39 +01:00
4a23a17670 Also use PROPERTY_HINT_BUTTON in UserManagerStatic instead of a bool. 2024-02-25 22:40:07 +01:00
0edc5438dd Re-extracted class docs. 2024-02-25 10:26:26 +01:00
429575fab6 File copyright header updates pt8. 2023-12-18 00:18:53 +01:00
3afe20bdc7 More old copyright header cleanups. 2023-12-17 23:24:10 +01:00
93a2081a58 Re-extracted class docs. 2023-10-12 01:59:32 +02:00
4faeb67438 Implemented getting users using their email from the UserDB. 2023-09-22 16:33:21 +02:00
56ae9e3734 Fix typos. 2023-09-22 16:21:37 +02:00
8ed3b41865 Re-extracted class docs. 2023-08-26 22:41:21 +02:00
8d679355df Re-extracted class docs pt3. 2023-06-13 17:34:41 +02:00
f058c87868 Backported from godot4: Rework Navigation Avoidance
Rework Navigation Avoidance.
- smix8
a6ac305f96
2023-06-10 20:58:49 +02:00
227e32b67c Now modules make use of the new registration levels. 2023-01-15 17:04:00 +01:00
e9a19c1a66 Added module initialization levels (similar idea to what's in godot4, although I added more). 2023-01-15 11:46:13 +01:00
fc991ede18 Re-extracted class docs. 2023-01-14 13:38:58 +01:00