Skip to content

feat: spacedf 20381 be update the email UI in the template folder#98

Open
ngovinh2k2 wants to merge 4 commits into
devfrom
feat/spacedf-20381-be-update-the-email-ui-in-the-template-folder
Open

feat: spacedf 20381 be update the email UI in the template folder#98
ngovinh2k2 wants to merge 4 commits into
devfrom
feat/spacedf-20381-be-update-the-email-ui-in-the-template-folder

Conversation

@ngovinh2k2
Copy link
Copy Markdown
Member

@ngovinh2k2 ngovinh2k2 commented Jun 3, 2026

What?

Update the email UI in the template folder

Why?

From the request

How?

Testing?

  • Functional Testing
  • Security
  • Performance
  • Error Handling
  • Code Quality
  • Documentation
  • Database
  • Deployment
  • Final Review

Anything Else?

@df-redmine
Copy link
Copy Markdown

df-redmine Bot commented Jun 3, 2026

Linked Redmine issue: https://redmine.digitalfortress.dev/issues/20381
Branch: feat/spacedf-20381-be-update-the-email-ui-in-the-template-folder

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces dynamic branding, custom colors, and social links to email templates (base.html, email_forget_password.html, email_format.html, email_otp.html), supported by a new ConsoleServiceClient and email_context utility. It also adds a new telemetry_queue to the RabbitMQ provisioner. Key feedback includes: addressing unbound queues in rabbitmq_provisioner.py that break telemetry flow; removing redundant padding and duplicate class="round" attributes in base.html; correcting the invalid text-color CSS property in email_format.html; changing an incorrect logger.error level to logger.info in console_client.py; and raising an appropriate server-side exception instead of a DRF ValidationError when template rendering fails in email_context.py.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

I am having trouble creating individual review comments. Click here to see my feedback.

common/rabitmq/rabbitmq_provisioner.py (433)

high

The bindings for transformed_data_queue have been removed, and the newly created telemetry_queue is never bound to any exchange or routing key. As a result, both queues will remain unbound and will not receive any messages, which breaks the telemetry and data transformation flow. Please ensure that the appropriate bindings are created for these queues.

common/templates/base.html (15-21)

medium

The .content class has redundant padding definitions. padding: 40px 0px 10px; on line 18 is completely overridden by padding: 25px 25px; on line 20. We should clean this up to avoid confusion and keep the CSS clean.

    .content {
      max-width: 590px;
      margin: 0 auto;
      text-align: center;
      padding: 25px 25px;
    }

common/templates/base.html (147)

medium

There is a duplicate class="round" attribute and a missing space before the href attribute on this anchor tag.

                  <a class="round" href="{{ linkedin_url }}">

common/templates/base.html (154)

medium

There is a duplicate class="round" attribute on this anchor tag.

                  <a class="round" href="{{ facebook_url }}">

common/templates/base.html (161)

medium

There is a duplicate class="round" attribute on this anchor tag.

                  <a class="round" href="{{ instagram_url }}">

common/templates/email_format.html (24)

medium

The CSS property text-color is invalid. The correct property to set text color in CSS is color.

      <a style="text-align: start; background-color: {{ primary_color }}; color: {{ contrast_primary_color }};"

common/utils/console_client.py (21)

medium

Logging a standard informational message as logger.error will pollute error logs and trigger false alarms in log monitoring systems. This should be logged as logger.info or logger.debug instead.

        logger.info(f"Fetching from url api {self.base_url}")

common/utils/email_context.py (125-130)

medium

Raising DRF's ValidationError when template rendering fails is misleading. Template rendering failures are internal server errors (HTTP 500), whereas ValidationError is used for client-side input validation errors (HTTP 400). Consider raising a standard server-side exception or letting the original exception propagate.

@ngovinh2k2 ngovinh2k2 changed the title Feat/spacedf 20381 be update the email UI in the template folder featspacedf 20381 be update the email UI in the template folder Jun 4, 2026
@ngovinh2k2 ngovinh2k2 changed the title featspacedf 20381 be update the email UI in the template folder feat: spacedf 20381 be update the email UI in the template folder Jun 4, 2026
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.

1 participant