Añade foro de comunidad integrado (app forum) con el diseño de NovaWoW
- app 'forum': portada (categorías/foros), ver foro y tema (paginado), crear tema, responder, editar/borrar posts y moderación (fijar, bloquear, mover, borrar/restaurar) - lee/escribe la BD acore_web (5ª conexión, DB_NAME_WEB) por SQL directo, tablas forum_categories/forums/forum_topics/forum_posts/forum_reads (portado de NovaWeb-main) - identidad = cuenta de juego en sesión; permisos simplificados por gmlevel (FORUM_MOD_GMLEVEL) en vez de la matriz group_level×permission del original - saneado del HTML de posts con nh3 (evita el XSS del original); POST+CSRF en formularios - plantillas con los partials del sitio; enlace 'FOROS' del menú apunta al foro interno - sql/forum_schema.sql y docs/FORO.md Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -75,6 +75,7 @@ INSTALLED_APPS = [
|
||||
'django_ckeditor_5',
|
||||
'django_extensions',
|
||||
'wotlk_db',
|
||||
'forum',
|
||||
]
|
||||
|
||||
# Configuración para AC SOAP
|
||||
@@ -220,8 +221,16 @@ DATABASES = {
|
||||
'acore_auth': _mysql_db(os.getenv('DB_NAME_AUTH', 'acore_auth'), _ACORE_OPTIONS),
|
||||
'acore_characters': _mysql_db(os.getenv('DB_NAME_CHARACTERS', 'acore_characters'), _ACORE_OPTIONS),
|
||||
'acore_world': _mysql_db(os.getenv('DB_NAME_WORLD', 'acore_world'), _ACORE_OPTIONS),
|
||||
# Base de datos del portal web (foro, etc.)
|
||||
'acore_web': _mysql_db(os.getenv('DB_NAME_WEB', 'acore_web'), _ACORE_OPTIONS),
|
||||
}
|
||||
|
||||
# Nivel GM mínimo (acore_auth.account_access.gmlevel) para moderar el foro
|
||||
FORUM_MOD_GMLEVEL = int(os.getenv('FORUM_MOD_GMLEVEL', '2'))
|
||||
# Tamaños de página del foro
|
||||
FORUM_TOPICS_PER_PAGE = int(os.getenv('FORUM_TOPICS_PER_PAGE', '20'))
|
||||
FORUM_POSTS_PER_PAGE = int(os.getenv('FORUM_POSTS_PER_PAGE', '15'))
|
||||
|
||||
|
||||
AC_LOGON = None
|
||||
|
||||
|
||||
Reference in New Issue
Block a user