DGSVO Compliance update 1 #30
|
|
@ -13,6 +13,7 @@ from club_tenancy import (
|
||||||
assert_club_member,
|
assert_club_member,
|
||||||
assert_valid_governance_visibility,
|
assert_valid_governance_visibility,
|
||||||
club_ids_for_profile_with_roles,
|
club_ids_for_profile_with_roles,
|
||||||
|
has_club_role,
|
||||||
is_platform_admin,
|
is_platform_admin,
|
||||||
is_superadmin,
|
is_superadmin,
|
||||||
library_content_visible_to_profile,
|
library_content_visible_to_profile,
|
||||||
|
|
@ -1797,12 +1798,7 @@ def get_media_asset_journal(
|
||||||
is_uploader = asset.get("uploaded_by_profile_id") == profile_id
|
is_uploader = asset.get("uploaded_by_profile_id") == profile_id
|
||||||
is_club_adm = False
|
is_club_adm = False
|
||||||
if asset.get("club_id"):
|
if asset.get("club_id"):
|
||||||
cur.execute(
|
is_club_adm = has_club_role(cur, profile_id, asset["club_id"], "club_admin")
|
||||||
"""SELECT 1 FROM club_members
|
|
||||||
WHERE profile_id = %s AND club_id = %s AND role = 'admin' AND status = 'active'""",
|
|
||||||
(profile_id, asset["club_id"]),
|
|
||||||
)
|
|
||||||
is_club_adm = cur.fetchone() is not None
|
|
||||||
|
|
||||||
if not (is_sup or is_uploader or is_club_adm):
|
if not (is_sup or is_uploader or is_club_adm):
|
||||||
raise HTTPException(status_code=403, detail="Keine Berechtigung (Superadmin, Uploader oder Vereinsadmin)")
|
raise HTTPException(status_code=403, detail="Keine Berechtigung (Superadmin, Uploader oder Vereinsadmin)")
|
||||||
|
|
@ -1895,12 +1891,7 @@ def add_rights_correction(
|
||||||
is_uploader = asset.get("uploaded_by_profile_id") == profile_id
|
is_uploader = asset.get("uploaded_by_profile_id") == profile_id
|
||||||
is_club_adm = False
|
is_club_adm = False
|
||||||
if asset.get("club_id"):
|
if asset.get("club_id"):
|
||||||
cur.execute(
|
is_club_adm = has_club_role(cur, profile_id, asset["club_id"], "club_admin")
|
||||||
"""SELECT 1 FROM club_members
|
|
||||||
WHERE profile_id = %s AND club_id = %s AND role = 'admin' AND status = 'active'""",
|
|
||||||
(profile_id, asset["club_id"]),
|
|
||||||
)
|
|
||||||
is_club_adm = cur.fetchone() is not None
|
|
||||||
|
|
||||||
if not (is_sup or is_uploader or is_club_adm):
|
if not (is_sup or is_uploader or is_club_adm):
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Shinkan Jinkendo Version Information
|
# Shinkan Jinkendo Version Information
|
||||||
|
|
||||||
APP_VERSION = "0.8.82"
|
APP_VERSION = "0.8.83"
|
||||||
BUILD_DATE = "2026-05-11"
|
BUILD_DATE = "2026-05-11"
|
||||||
DB_SCHEMA_VERSION = "20260511050"
|
DB_SCHEMA_VERSION = "20260511050"
|
||||||
|
|
||||||
|
|
@ -15,7 +15,7 @@ MODULE_VERSIONS = {
|
||||||
"admin_users": "1.0.0", # GET /api/admin/users
|
"admin_users": "1.0.0", # GET /api/admin/users
|
||||||
"platform_media_storage": "1.0.0", # GET/PUT /api/admin/platform-media-storage (Superadmin-Pfad unter MEDIA_ROOT)
|
"platform_media_storage": "1.0.0", # GET/PUT /api/admin/platform-media-storage (Superadmin-Pfad unter MEDIA_ROOT)
|
||||||
"media_rights": "1.2.0", # P-06+: write_audit_log_entry + write_rights_correction_declaration (Migration 050)
|
"media_rights": "1.2.0", # P-06+: write_audit_log_entry + write_rights_correction_declaration (Migration 050)
|
||||||
"media_assets": "1.16.0", # P-06+: Volljournal (audit_log + Korrektur); PATCH/lifecycle loggen Aenderungen
|
"media_assets": "1.16.1", # Fix: journal/correction club_admin check via has_club_role (role column doesn't exist on club_members)
|
||||||
"groups": "0.1.0",
|
"groups": "0.1.0",
|
||||||
"skills": "0.1.0",
|
"skills": "0.1.0",
|
||||||
"methods": "0.1.0",
|
"methods": "0.1.0",
|
||||||
|
|
@ -31,6 +31,13 @@ MODULE_VERSIONS = {
|
||||||
}
|
}
|
||||||
|
|
||||||
CHANGELOG = [
|
CHANGELOG = [
|
||||||
|
{
|
||||||
|
"version": "0.8.83",
|
||||||
|
"date": "2026-05-11",
|
||||||
|
"changes": [
|
||||||
|
"Fix: Journal + Korrektur-Endpoint: club_admin-Pruefung nutzte falsches Schema (role-Spalte nicht in club_members, sondern in club_member_roles via has_club_role); lieferte immer 500.",
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "0.8.82",
|
"version": "0.8.82",
|
||||||
"date": "2026-05-11",
|
"date": "2026-05-11",
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// Shinkan Jinkendo Frontend Version
|
// Shinkan Jinkendo Frontend Version
|
||||||
|
|
||||||
export const APP_VERSION = "0.8.82"
|
export const APP_VERSION = "0.8.83"
|
||||||
export const BUILD_DATE = "2026-05-11"
|
export const BUILD_DATE = "2026-05-11"
|
||||||
|
|
||||||
export const PAGE_VERSIONS = {
|
export const PAGE_VERSIONS = {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user