Foro: buscador de temas y nombre de autor legible

- forum_search: busca temas por título y contenido (foros visibles)
- db.get_display_name: nombre visible del autor = parte local del email de la cuenta
  (en vez de <bnetId>#1), usado en el panel de posts y la lista de temas
- buscador en la portada del foro + plantilla search.html
- docs/FORO.md actualizado

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-12 17:18:34 +00:00
parent 874a0c1ad9
commit fd49d6cd96
8 changed files with 125 additions and 5 deletions
+1 -1
View File
@@ -29,7 +29,7 @@
{% if topic.moved %}<span class="forum-badge">Movido</span>{% endif %}
{{ topic.name }}
</a>
<div class="desc">por {{ topic.poster }} · {{ topic.created }}</div>
<div class="desc">por {{ topic.display_poster }} · {{ topic.created }}</div>
</div>
<div class="meta">
<div>{{ topic.post_count }} respuestas</div>
+5
View File
@@ -12,6 +12,11 @@
<div class="body-box-content">
{% include 'forum/_style.html' %}
<div class="forum-wrap">
<form class="forum-search" action="{% url 'forum_search' %}" method="GET" style="margin-bottom:16px">
<input type="text" name="q" placeholder="Buscar en el foro..."
style="width:70%;background:rgba(0,0,0,.3);color:#e8e0d0;border:1px solid rgba(215,150,2,.4);padding:8px;border-radius:3px">
<button type="submit" class="forum-btn">Buscar</button>
</form>
{% for category in categories %}
<div class="forum-cat">
<div class="forum-cat-title">{{ category.name }}</div>
+49
View File
@@ -0,0 +1,49 @@
<!DOCTYPE html>
{% include 'partials/head.html' %}
{% include 'partials/header.html' %}
{% include 'partials/video.html' %}
<div class="main-page">
<div class="middle-content">
<div class="body-content">
<div class="title-content"><h1>Buscar en el foro</h1></div>
<div class="box-content">
<div class="body-box-content">
{% include 'forum/_style.html' %}
<div class="forum-wrap">
<form class="forum-search" action="{% url 'forum_search' %}" method="GET" style="margin-bottom:16px">
<input type="text" name="q" value="{{ query }}" placeholder="Buscar en el foro..."
style="width:70%;background:rgba(0,0,0,.3);color:#e8e0d0;border:1px solid rgba(215,150,2,.4);padding:8px;border-radius:3px">
<button type="submit" class="forum-btn">Buscar</button>
</form>
{% if query %}
<p style="color:#b1997f">Resultados para «{{ query }}»: {{ results|length }}</p>
{% for topic in results %}
<div class="topic-row">
<div class="main">
<a class="name" href="{% url 'forum_topic_p1' topic_id=topic.id %}">{{ topic.name }}</a>
<div class="desc">en {{ topic.forum_name }} · por {{ topic.display_poster }} · {{ topic.created }}</div>
</div>
</div>
{% empty %}
<p>No se encontraron temas.</p>
{% endfor %}
{% else %}
<p>Escribe al menos 2 caracteres para buscar.</p>
{% endif %}
<div class="forum-actions" style="margin-top:16px">
<a class="forum-btn" href="{% url 'app_forum' %}">← Volver al foro</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% include 'partials/social.html' %}
{% include 'partials/footer.html' %}
{% include 'partials/final.html' %}
+1 -1
View File
@@ -21,7 +21,7 @@
<div class="forum-post {% if post.deleted %}forum-deleted{% endif %}" id="post-{{ post.id }}">
<div class="left">
<div class="pname">
<a href="{% url 'forum_profile' username=post.poster %}" style="color:#e0c07a">{{ post.poster }}</a>
<a href="{% url 'forum_profile' username=post.poster %}" style="color:#e0c07a">{{ post.author.display_name|default:post.poster }}</a>
</div>
<div class="prole">{{ post.author.status }}</div>
<div class="pmeta">