Melhorias no microsite e sincronização de fotos LDAP

Fotos LDAP:
- Ignora sync quando conta ainda não tem UID (evitava URI compartilhada)
- Filtra fotos abaixo do tamanho mínimo configurável (padrão 10 KB)
- Adiciona campo ldap_min_photo_size nas configurações e schema
- Update 10010: remove fotos placeholder já existentes
- Update 10011: remove mídias com URI ldap_photo_.{ext} sem UID

Bloco de cabeçalho do microsite:
- Exibe departamento abaixo do nome, sem label, com link para a entidade
- Exibe telefone de trabalho (work_phone) no lugar de phone (restrito)

Página de perfil:
- Título fixo "Perfil de @name" via callback profileTitle()
- Exclui rota profile da substituição de título pelo nó homepage

Subpáginas com URL amigável:
- Adiciona MicrositeSubpagePathProcessor (inbound + outbound)
- Inbound: /user/{username}/{subpage} → /user/{uid}/{subpage}
- Outbound: /user/{uid}/{subpage} → /user/{username}/{subpage}
- Busca alias em todos os idiomas para contornar limitação do AliasManager

Tema do microsite em rotas externas:
- MicrositeThemeNegotiator cobre rotas com parâmetro user sob /user/{user}/
- Cobre nós do structural_pages cujo alias começa com /user/{uid}/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-23 15:29:40 -03:00
parent aa24bf79f8
commit 39de6a7493
13 changed files with 404 additions and 15 deletions

View File

@@ -37,16 +37,26 @@
<h1 class="msite-header-block__name">{{ name }}</h1>
{% if department %}
<div class="msite-header-block__department">
{% if department_url %}
<a href="{{ department_url }}">{{ department }}</a>
{% else %}
{{ department }}
{% endif %}
</div>
{% endif %}
{% if bio %}
<div class="msite-header-block__bio">{{ bio|raw }}</div>
{% endif %}
{% if phone or email %}
{% if work_phone or email %}
<ul class="msite-header-block__contact">
{% if phone %}
{% if work_phone %}
<li class="msite-header-block__contact-item">
<span class="msite-header-block__contact-label">{{ 'Telefone'|t }}:</span>
<a href="tel:{{ phone }}">{{ phone }}</a>
<a href="tel:{{ work_phone }}">{{ work_phone }}</a>
</li>
{% endif %}
{% if email %}