This website requires JavaScript.
30a7f603b7
feat(core): remove duplicate deleted_at from SystemSettings (inherited from SoftDeleteMixin)
Leopoldadmin
2026-07-04 00:31:46 +00:00
c87c125395
feat(core): remove duplicate deleted_at from Sequence (inherited from SoftDeleteMixin)
Leopoldadmin
2026-07-04 00:31:46 +00:00
a6a4131e11
feat(core): remove duplicate deleted_at from TaxRate (inherited from SoftDeleteMixin)
Leopoldadmin
2026-07-04 00:31:45 +00:00
ade9e01b4e
feat(core): remove duplicate deleted_at from Currency (inherited from SoftDeleteMixin)
Leopoldadmin
2026-07-04 00:31:45 +00:00
99411fce35
feat(core): remove duplicate deleted_at from Contact (inherited from SoftDeleteMixin)
Leopoldadmin
2026-07-04 00:31:45 +00:00
bc0f4e8223
feat(core): remove duplicate deleted_at from Company (inherited from SoftDeleteMixin)
Leopoldadmin
2026-07-04 00:31:44 +00:00
02d5195c1c
feat(core): add SoftDeleteMixin to db base, TenantMixin inherits from it
Leopoldadmin
2026-07-04 00:31:44 +00:00
d0817427c1
feat(core): add attachment API hooks
Leopoldadmin
2026-07-04 00:29:39 +00:00
3bacf1949b
feat(core): register attachment router in main.py
Leopoldadmin
2026-07-04 00:29:39 +00:00
841234014a
feat(core): register attachment routes
Leopoldadmin
2026-07-04 00:29:38 +00:00
a31829f2ff
feat(core): register Attachment model
Leopoldadmin
2026-07-04 00:29:38 +00:00
4c959914ad
feat(core): add alembic migration for attachments table
Leopoldadmin
2026-07-04 00:29:12 +00:00
e3e4e9e39d
feat(core): add attachment routes
Leopoldadmin
2026-07-04 00:29:12 +00:00
1fdcc95ac5
feat(core): add attachment service
Leopoldadmin
2026-07-04 00:29:12 +00:00
b844859da3
feat(core): add attachment schemas
Leopoldadmin
2026-07-04 00:29:11 +00:00
b7dc05b7ee
feat(core): add Attachment model
Leopoldadmin
2026-07-04 00:29:11 +00:00
1e03c84591
feat(core): add systemSettings i18n keys (en)
Leopoldadmin
2026-07-04 00:27:21 +00:00
0727e5a505
feat(core): add systemSettings i18n keys (de)
Leopoldadmin
2026-07-04 00:27:20 +00:00
e59bbc7a11
feat(core): add system settings, currency, tax, sequence API hooks
Leopoldadmin
2026-07-04 00:27:20 +00:00
d17615fa45
feat(core): add SettingsSystem route
Leopoldadmin
2026-07-04 00:27:20 +00:00
8bbc49fb12
feat(core): add System settings nav item
Leopoldadmin
2026-07-04 00:27:19 +00:00
afbad3d7e4
feat(core): add SettingsSystem page
Leopoldadmin
2026-07-04 00:26:22 +00:00
3eeb1f4102
feat(core): register system_settings router in main.py
Leopoldadmin
2026-07-04 00:26:22 +00:00
df623fde30
feat(core): register system_settings routes
Leopoldadmin
2026-07-04 00:26:21 +00:00
dda4b157c7
feat(core): register SystemSettings model
Leopoldadmin
2026-07-04 00:26:21 +00:00
b646a1be63
feat(core): add alembic migration for system_settings table
Leopoldadmin
2026-07-04 00:25:39 +00:00
207137feb2
feat(core): add system settings routes
Leopoldadmin
2026-07-04 00:25:39 +00:00
a7fdaf21dc
feat(core): add system settings service
Leopoldadmin
2026-07-04 00:25:38 +00:00
8b249b651f
feat(core): add system settings schemas
Leopoldadmin
2026-07-04 00:25:38 +00:00
3431b0afed
feat(core): add SystemSettings model
Leopoldadmin
2026-07-04 00:25:37 +00:00
72b2ac82ea
feat(core): add sequence i18n keys (en)
Leopoldadmin
2026-07-04 00:24:41 +00:00
3031e81b2c
feat(core): add sequence i18n keys (de)
Leopoldadmin
2026-07-04 00:24:41 +00:00
4b8562f1c1
feat(core): register sequence router in main.py
Leopoldadmin
2026-07-04 00:24:41 +00:00
3a7156cdcd
feat(core): register sequence routes
Leopoldadmin
2026-07-04 00:24:40 +00:00
c65f515b61
feat(core): register Sequence model
Leopoldadmin
2026-07-04 00:24:40 +00:00
1d8fcbaac2
feat(core): add alembic migration for sequences table
Leopoldadmin
2026-07-04 00:24:18 +00:00
95bacb5810
feat(core): add sequence routes
Leopoldadmin
2026-07-04 00:24:17 +00:00
3677324c4d
feat(core): add sequence service with SELECT FOR UPDATE locking
Leopoldadmin
2026-07-04 00:24:17 +00:00
b540f16cf2
feat(core): add sequence schemas
Leopoldadmin
2026-07-04 00:24:16 +00:00
b43748d837
feat(core): add Sequence model
Leopoldadmin
2026-07-04 00:24:16 +00:00
f799d11950
feat(core): register tax router in main.py
Leopoldadmin
2026-07-04 00:23:36 +00:00
2a027a7f17
feat(core): register tax routes
Leopoldadmin
2026-07-04 00:23:35 +00:00
3d3133a7d0
feat(core): register TaxRate model
Leopoldadmin
2026-07-04 00:23:35 +00:00
88b4e614ae
feat(core): add alembic migration for tax_rates table
Leopoldadmin
2026-07-04 00:23:15 +00:00
ff5fa179e8
feat(core): add tax rate routes
Leopoldadmin
2026-07-04 00:23:14 +00:00
1c209371a8
feat(core): add tax rate service
Leopoldadmin
2026-07-04 00:23:14 +00:00
5fce677096
feat(core): add tax rate schemas
Leopoldadmin
2026-07-04 00:23:14 +00:00
1cb0b5ddfe
feat(core): add TaxRate model
Leopoldadmin
2026-07-04 00:23:13 +00:00
74a81b147c
feat(core): add currency and tax i18n keys (en)
Leopoldadmin
2026-07-04 00:22:27 +00:00
b26e2e3c5d
feat(core): add currency and tax i18n keys (de)
Leopoldadmin
2026-07-04 00:22:26 +00:00
d3033056fd
feat(core): register currency router in main.py
Leopoldadmin
2026-07-04 00:22:08 +00:00
7d23815856
feat(core): register currency routes
Leopoldadmin
2026-07-04 00:22:07 +00:00
61a53ff794
feat(core): register Currency model
Leopoldadmin
2026-07-04 00:22:07 +00:00
c45d93038d
feat(core): add alembic migration for currencies table
Leopoldadmin
2026-07-04 00:21:43 +00:00
592f890817
feat(core): add currency routes
Leopoldadmin
2026-07-04 00:21:42 +00:00
725c4413f5
feat(core): add currency service
Leopoldadmin
2026-07-04 00:21:42 +00:00
a7e8118549
feat(core): add currency schemas
Leopoldadmin
2026-07-04 00:21:42 +00:00
65c22f8066
feat(core): add Currency model
Leopoldadmin
2026-07-04 00:21:41 +00:00
dfa4a82e8d
feat(core): add address i18n keys (en)
Leopoldadmin
2026-07-04 00:20:46 +00:00
1e74efd2b4
feat(core): add address i18n keys (de)
Leopoldadmin
2026-07-04 00:20:46 +00:00
bc0aae0325
feat(core): add address fields to ContactForm
Leopoldadmin
2026-07-04 00:20:30 +00:00
f31baa444a
feat(core): add address fields to CompanyForm
Leopoldadmin
2026-07-04 00:20:29 +00:00
ec0353f469
feat(core): add address fields to contact service serialization and CRUD
Leopoldadmin
2026-07-04 00:19:23 +00:00
11527c4c95
feat(core): add address fields to company service serialization and CRUD
Leopoldadmin
2026-07-04 00:18:45 +00:00
59c787ba66
feat(core): add address fields to contact schemas
Leopoldadmin
2026-07-04 00:15:25 +00:00
01556534f2
feat(core): add address fields to company schemas
Leopoldadmin
2026-07-04 00:15:25 +00:00
c098180fa1
feat(core): add alembic migration for address fields
Leopoldadmin
2026-07-04 00:15:24 +00:00
36fcb33d7e
feat(core): add address fields to Contact model
Leopoldadmin
2026-07-04 00:15:23 +00:00
74284b3359
feat(core): add address fields to Company model
Leopoldadmin
2026-07-04 00:15:22 +00:00
997d60138a
Fix route: use model_fields_set to pass _UNSET when role_id not sent, None when explicitly null
Leopoldadmin
2026-07-03 20:43:55 +00:00
d7691b3d70
Fix role_id sentinel bug: use _UNSET sentinel so None explicitly clears FK, missing param leaves unchanged
Leopoldadmin
2026-07-03 20:43:00 +00:00
2deb7ed21c
Problem 3/5: Add i18n keys for systemPermissions, pluginPermissions, noPermissions, userDeleted, deleteUserConfirm (en)
Leopoldadmin
2026-07-03 20:37:46 +00:00
5991d79324
Problem 3/5: Add i18n keys for systemPermissions, pluginPermissions, noPermissions, userDeleted, deleteUserConfirm (de)
Leopoldadmin
2026-07-03 20:26:26 +00:00
0d3550ec86
Problem 1+5: Dynamic roles dropdown via useRoles(), delete button with ConfirmDialog, fixed create form
Leopoldadmin
2026-07-03 20:11:04 +00:00
493d99aff2
Problem 3/4: Replace hardcoded ALL_PERMISSIONS with usePermissions API call, group by category
Leopoldadmin
2026-07-03 20:07:53 +00:00
68b5153139
Problem 3/4: Add usePermissions hook + PermissionItem/PermissionsResponse interfaces
Leopoldadmin
2026-07-03 20:02:32 +00:00
792f0a464d
Problem 3/4: Add GET /api/v1/roles/permissions endpoint returning system + plugin permissions
Leopoldadmin
2026-07-03 19:50:47 +00:00
a799a3d0e6
Problem 2: Remove dead System nav item from Settings sidebar
Leopoldadmin
2026-07-03 19:50:18 +00:00
22e8756fa4
Problem 1: Alembic migration 0005 — add role_id FK column to users table
Leopoldadmin
2026-07-03 19:50:08 +00:00
762aac832f
Problem 1: Pass role_id through users route create/update, include in responses
Leopoldadmin
2026-07-03 19:49:48 +00:00
8a2468ee7d
Problem 1: Add role_id support to user_service create/update/_user_to_dict
Leopoldadmin
2026-07-03 19:49:03 +00:00
6986fcfaae
Problem 1: Add role_id to UserCreate/UserUpdate/UserResponse schemas
Leopoldadmin
2026-07-03 19:48:48 +00:00
530cfd485f
Problem 1: Add role_id FK column to User model (references roles.id, nullable, ondelete SET NULL)
Leopoldadmin
2026-07-03 19:48:39 +00:00
5138590277
fix(plugin): add version comparison and migration run on version mismatch
Leopoldadmin
2026-07-03 16:56:30 +00:00
f9508d17de
fix(plugin): add GET and PATCH /api/v1/plugins/{name}/config endpoints
Leopoldadmin
2026-07-03 16:49:57 +00:00
cbeed4b26d
fix(plugin): convert dependency errors to HTTPException 400, add config API
Leopoldadmin
2026-07-03 16:48:10 +00:00
826cf69c9a
fix(plugin): add dependency resolution and permission soft-check
Leopoldadmin
2026-07-03 16:45:49 +00:00
94a5bf105c
fix(plugin): track routes by object identity to prevent cross-plugin removal
Leopoldadmin
2026-07-03 16:25:31 +00:00
18a0861a96
fix(plugin): discover MailPlugin in builtins __init__
Leopoldadmin
2026-07-03 16:19:04 +00:00
2968381a23
docs: update test_report.md with Settings Plugins & Roles API implementation evidence
Leopoldadmin
2026-07-03 15:25:55 +00:00
962ac66f72
feat: add plugin and role translation keys to en.json
Leopoldadmin
2026-07-03 15:24:01 +00:00
dda972187a
feat: add plugin and role translation keys to de.json
Leopoldadmin
2026-07-03 15:24:00 +00:00
502cddd68c
feat: add useRoles/useCreateRole/useUpdateRole/useDeleteRole and plugin mutation hooks
Leopoldadmin
2026-07-03 15:23:59 +00:00
eb0420d726
feat: add SettingsPluginsPage import and /settings/plugins route
Leopoldadmin
2026-07-03 15:23:58 +00:00
ce4d41c1b8
feat: add plugins nav item to Settings page
Leopoldadmin
2026-07-03 15:23:58 +00:00
1aa6d1ffa9
refactor: SettingsRoles.tsx - use API hooks instead of hardcoded data, add delete role
Leopoldadmin
2026-07-03 15:23:57 +00:00
d26efa5bb7
fix: SettingsPlugins.tsx with actual content - plugin management page
Leopoldadmin
2026-07-03 15:23:55 +00:00
e655311cac
feat: add SettingsPlugins.tsx - plugin management page with install/activate/deactivate/uninstall
Leopoldadmin
2026-07-03 15:22:36 +00:00
812ccdeaf0
fix: add missing display_name to PluginModel creation in lifespan
Leopoldadmin
2026-07-03 00:12:43 +00:00
36ac1d0df9
fix: register plugin routes in create_app BEFORE SPA catch-all
leocrm-bot
2026-07-02 14:37:30 +02:00