Skip to content

Login tenant branding and engine template reorganization - #112

Merged
ATRIwOX merged 4 commits into
devfrom
platform
Oct 2, 2026
Merged

ATRIwOX merged 4 commits into
devfrom
platform

Conversation

@ATRIwOX

@ATRIwOX ATRIwOX commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Login tenant branding

  • New core.company fields: login_logo (image), login_tagline; Login branding group on the company form
  • Branding resolution: company upload → GET /web/login/logo → config logo_path → default /static/img/sumeru-logo.svg
  • Left sign-in panel: lockup, trust chips, optional “Powered by Sumeru”, accent from company color index
  • Updates to sumeru-login.css, bundled sumeru-logo.svg, sumeru.conf.example notes for host-level logo/name

Template reorganization

  • Layout under core/engine/templates/: shell/, auth/, pages/, portal/, partials/ (+ README.md)
  • Inner pages renamed from *_inner.html to pages/*.html
  • Shared partials: menu icons, home hub icons, apps module forms, auth head assets, login brand aside
  • render/templates_paths.go and wired paths in page.go, shell_render.go, login.go, setup_handlers.go, portal_handlers.go, web_constants.go

Tests

  • login_branding_test.go: logo priority, data-URL parsing, logo route 404, brand lockup in login HTML
  • login_csrf_test.go: default SVG / lockup assertions; auth template cache reset in tests
  • testexports.go: branding and cache helpers for external tests

Commits included

  1. 0e0c9d8 — template path helpers
  2. 26dab0d — template tree move and partials
  3. 27fea0e — login branding feature
  4. 4facf87 — login branding tests

Test plan

  • /web/login: default Sumeru logo and left panel; sign-in still works (local + SSO if configured)
  • Company form: upload login logo, set tagline → login shows company mark via /web/login/logo
  • Optional logo_path in config when company logo empty
  • /web/home, /web/apps, /web/settings, /setup, TOTP login: pages render (no template parse errors)
  • cd sumeru && make

Add TemplatePath and parse-set helpers (shell layout, shell inner pages,
auth pages) so handlers stop hardcoding filenames under templates/.
…ortal, partials

Move base.html to shell/, auth pages to auth/, portal pages to portal/,
and shell inner bodies to pages/ (drop *_inner suffix). Split shared
defines into partials (menu icons, home hub, apps module forms, auth
assets, login brand aside). Wire RenderPage, shell inner render, auth
template cache, setup, and portal handlers via render/templates_paths.go.
… mark

Add core.company login_logo and login_tagline with form fields. Resolve
sign-in panel branding: company upload via public GET /web/login/logo,
then logo_path in config, then bundled sumeru-logo.svg. Modern left-panel
CSS with accent classes from company color index. Document host-level
logo_path and company_display_name in sumeru.conf.example.
Export build-brand and logo-route helpers for tests. Add logo priority
and data-URL parsing tests. Extend login GET test for brand lockup and
default SVG. Reset auth template cache when TemplatesPath changes in tests.
@ATRIwOX
ATRIwOX requested a review from a team October 2, 2026 15:55
@ATRIwOX ATRIwOX self-assigned this Oct 2, 2026
@ATRIwOX
ATRIwOX merged commit 060b9d3 into dev Oct 2, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants