Skip to content

Conversation

@Satish-Medar
Copy link

@Satish-Medar Satish-Medar commented Nov 14, 2025

Closes #4802

This PR adds the "Recently Registered Organizations" list to the organization registration page, as suggested by @DonnieBLT in the comments of PR #4705.

That original PR (#4705) had merge conflicts and failing checks. This is a new, clean implementation of that feature on an up-to-date branch.

This PR does:

  • Adds the backend logic to RegisterOrganizationView to fetch the 5 most recent orgs.
  • Adds the Tailwind-styled frontend module to the register_organization.html template.
  • Also includes a fix to docker-compose.yml to pin postgres:16, which resolves the local setup-breaking changes from postgres:latest.

This should be ready to test and merge.

Summary by CodeRabbit

  • New Features

    • Added a "Recently Registered Organizations" section on the registration page showing recent orgs with avatars, links, and relative timestamps.
  • Deployment

    • Activated the web process entry to enable the Gunicorn web worker for deployment.
  • Documentation & Configuration

    • Various formatting and configuration declaration fixes across docs and YAML files.
  • Style

    • Minor CSS syntax correction and multiple end-of-file/whitespace cleanups.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 14, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Adds a "Recently Registered Organizations" section to the organization registration page, passes the five most-recent Organization records from the GET view to the template, adds Organization.get_absolute_url, and applies multiple small formatting, YAML, and CSS fixes across the repo.

Changes

Cohort / File(s) Summary
Template
website/templates/organization/register_organization.html
Adds a conditional "Recently Registered Organizations" block that renders a responsive grid of up to 5 organizations (link via slug, name, relative creation time, avatar icon) when recent_organizations is present.
View
website/views/company.py
RegisterOrganizationView.get() now queries Organization.objects.all().order_by("-created")[:5] and includes recent_organizations in the template context.
Model
website/models.py
Adds Organization.get_absolute_url() returning reverse("organization_detail", kwargs={"slug": self.slug}).
Procfile / Docker / Compose
Procfile, Dockerfile, docker-compose.yml
Procfile web line uncommented; small formatting/trailing-newline changes and a YAML structure normalization for the named volume in docker-compose.yml.
GitHub Actions / Configs
.github/codeql-config.yml, .github/workflows/add-files-changed-label.yml, .lgtm.yml
Minor formatting/newline adjustments; workflow script simplified/short-circuited.
BACON & YAML
BACON/bacon-etch.yaml, BACON/ord-server/example-split.yaml, BACON/regtest/bitcoin.conf
Small YAML edits and EOF newline normalizations; bacon-etch.yaml changes a list item mapping style.
Docs / Content
website/documents/*, docs/features.md, issues/*
Numerous whitespace/newline/bullet-marker normalizations across documentation files (non-functional).
Static assets
website/static/css/*, website/static/js/*, website/static/organization/js/*
Fixes include adding EOF newlines, correcting a missing CSS closing brace, and other non-functional formatting tweaks.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant View as RegisterOrganizationView
    participant DB as Database
    participant Template

    User->>View: GET /organization/register
    View->>DB: Query Organization.objects.order_by("-created")[:5]
    DB-->>View: recent_organizations (0..5)
    View->>Template: render(template, context incl. recent_organizations)
    Template-->>User: HTML (form + Recently Registered Organizations section)
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Review focus:
    • website/views/company.py — confirm the query, slicing, and context injection are correct and performant.
    • website/templates/organization/register_organization.html — verify proper escaping, URL usage (calls get_absolute_url or reverse), and responsive markup accessibility.
    • website/models.py — ensure get_absolute_url matches URL pattern name and slug parameter.
    • Inspect BACON/bacon-etch.yaml and docker-compose.yml for unintended YAML-structure changes.

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning Most changes are either trailing newlines or minor formatting fixes unrelated to the feature. The docker-compose.yml change (postgres:16 pinning) is beyond the stated feature scope and appears to address infrastructure breakage. Consider separating the docker-compose.yml postgres version pinning into a separate bugfix PR to keep this feature PR focused on the recently registered orgs functionality.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: adding a feature to display recently registered organizations on the registration page.
Linked Issues check ✅ Passed The PR fulfills issue #4802 by fetching the five most recent organizations in RegisterOrganizationView, adding a template section to display them, and passing the data via context.

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between a4435fc and cc06ef3.

📒 Files selected for processing (2)
  • .github/workflows/add-files-changed-label.yml (1 hunks)
  • website/models.py (1 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
website/templates/organization/register_organization.html (1)

232-237: Remove extra whitespace for consistency.

Line 233 contains unnecessary whitespace that can be removed for cleaner formatting.

Apply this diff:

         <li class="col-span-1 flex rounded-md shadow-sm">
             <div class="flex-shrink-0 flex items-center justify-center w-16 h-16 bg-gray-200 rounded-l-md">
-              
                 <svg class="h-8 w-8 text-gray-600" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
                     <path stroke-linecap="round" stroke-linejoin="round" d="M3.75 21h16.5M4.5 3h15M5.25 3v18m13.5-18v18M8.25 6h7.5m-7.5 3h7.5m-7.5 3h7.5m-7.5 3h7.5m-7.5 3h7.5" />
                 </svg>
             </div>
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between ff701fe and c8b3f75.

📒 Files selected for processing (2)
  • website/templates/organization/register_organization.html (1 hunks)
  • website/views/company.py (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Run Tests
  • GitHub Check: docker-test
🔇 Additional comments (1)
website/templates/organization/register_organization.html (1)

220-251: LGTM! Well-structured section with good responsive design.

The "Recently Registered Organizations" section is properly implemented with:

  • Conditional rendering to avoid empty state issues
  • Responsive grid layout (1/2/3 columns based on screen size)
  • Good accessibility with role="list" attribute
  • Clean Tailwind CSS styling

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
website/documents/BltWeeklyActivityOfContributor.md (1)

44-44: Simplify verbose phrasing in the Scalability point.

Line 44 uses the wordy phrase "a large number of," which can be replaced with a clearer alternative like "many," "numerous," or a specific quantifier. This will improve readability and conciseness of the documentation.

Apply this diff to improve clarity:

- **Scalability**: The table is designed to handle a large number of users and activity metrics, maintaining performance and user experience even with extensive data.
+ **Scalability**: The table is designed to handle many users and activity metrics, maintaining performance and user experience even with extensive data.

Alternatively, if a specific scale is known, consider using an exact number (e.g., "thousands of users").

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between c8dbc1d and a1308be.

⛔ Files ignored due to path filters (8)
  • website/static/images/tech/ml.svg is excluded by !**/*.svg
  • website/static/images/tech/nlp.svg is excluded by !**/*.svg
  • website/static/images/tech/oauth.svg is excluded by !**/*.svg
  • website/static/images/tech/python.svg is excluded by !**/*.svg
  • website/static/images/tech/sql.svg is excluded by !**/*.svg
  • website/static/images/tech/tailwind.svg is excluded by !**/*.svg
  • website/static/img/tomato-svgrepo-com.svg is excluded by !**/*.svg
  • website/static/js/jquery.sparkline.min.js is excluded by !**/*.min.js
📒 Files selected for processing (40)
  • .github/codeql-config.yml (1 hunks)
  • .github/workflows/add-files-changed-label.yml (1 hunks)
  • .lgtm.yml (1 hunks)
  • BACON/bacon-etch.yaml (1 hunks)
  • BACON/ord-server/example-split.yaml (1 hunks)
  • BACON/regtest/bitcoin.conf (1 hunks)
  • Dockerfile (1 hunks)
  • Procfile (1 hunks)
  • docker-compose.yml (1 hunks)
  • docs/features.md (1 hunks)
  • issues/ValueError_staking_pool.md (1 hunks)
  • website/documents/BltAboutUs.md (1 hunks)
  • website/documents/BltBLTV.md (1 hunks)
  • website/documents/BltChangePassword.md (1 hunks)
  • website/documents/BltCommunityMembers.md (1 hunks)
  • website/documents/BltCompanyDashboard.md (1 hunks)
  • website/documents/BltCompanyListingPage.md (1 hunks)
  • website/documents/BltCompanyScoreboard.md (1 hunks)
  • website/documents/BltDetails.md (1 hunks)
  • website/documents/BltDetailsFromOwasp.md (1 hunks)
  • website/documents/BltGlobalLeaderboard.md (1 hunks)
  • website/documents/BltInvite.md (1 hunks)
  • website/documents/BltLoginPage.md (1 hunks)
  • website/documents/BltSignUpPage.md (1 hunks)
  • website/documents/BltStartaBughunt.md (1 hunks)
  • website/documents/BltStats.md (1 hunks)
  • website/documents/BltTerms.md (1 hunks)
  • website/documents/BltTrademarksSearch.md (1 hunks)
  • website/documents/BltTrademarksSearchResults.md (1 hunks)
  • website/documents/BltUserProfile.md (1 hunks)
  • website/documents/BltWeeklyActivityOfContributor.md (1 hunks)
  • website/models.py (1 hunks)
  • website/static/css/app.min.css (1 hunks)
  • website/static/css/checkInModal.css (1 hunks)
  • website/static/js/issue.js (1 hunks)
  • website/static/js/messages.js (1 hunks)
  • website/static/js/reminder_settings.js (1 hunks)
  • website/static/organization/js/hunt_controller.js (1 hunks)
  • website/templates/organization/register_organization.html (1 hunks)
  • website/views/company.py (1 hunks)
✅ Files skipped from review due to trivial changes (13)
  • website/documents/BltBLTV.md
  • website/static/css/app.min.css
  • BACON/regtest/bitcoin.conf
  • website/documents/BltTerms.md
  • website/static/organization/js/hunt_controller.js
  • website/documents/BltStartaBughunt.md
  • website/documents/BltGlobalLeaderboard.md
  • BACON/ord-server/example-split.yaml
  • website/static/js/reminder_settings.js
  • website/documents/BltDetails.md
  • website/documents/BltAboutUs.md
  • website/static/css/checkInModal.css
  • .lgtm.yml
🚧 Files skipped from review as they are similar to previous changes (22)
  • issues/ValueError_staking_pool.md
  • website/documents/BltDetailsFromOwasp.md
  • website/static/js/issue.js
  • website/documents/BltCompanyScoreboard.md
  • website/models.py
  • website/documents/BltChangePassword.md
  • website/documents/BltSignUpPage.md
  • .github/workflows/add-files-changed-label.yml
  • website/documents/BltStats.md
  • website/documents/BltTrademarksSearch.md
  • website/views/company.py
  • website/documents/BltCompanyListingPage.md
  • website/static/js/messages.js
  • website/documents/BltCompanyDashboard.md
  • website/documents/BltUserProfile.md
  • Procfile
  • website/templates/organization/register_organization.html
  • website/documents/BltCommunityMembers.md
  • website/documents/BltLoginPage.md
  • .github/codeql-config.yml
  • Dockerfile
  • docs/features.md
🧰 Additional context used
🪛 LanguageTool
website/documents/BltWeeklyActivityOfContributor.md

[style] ~44-~44: To reduce wordiness, try specifying a number or using “many” or “numerous” instead.
Context: ...lity**: The table is designed to handle a large number of users and activity metrics, maintaining...

(LARGE_NUMBER_OF)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Run Tests
  • GitHub Check: docker-test
🔇 Additional comments (5)
website/documents/BltTrademarksSearchResults.md (1)

42-42: Good: Minor formatting consistency improvement.

Converting the non-standard -- bullet to the standard markdown - aligns with the formatting used throughout the rest of the document.

docker-compose.yml (2)

3-3: Verify PostgreSQL version aligns with PR objectives.

The PR objectives state that docker-compose.yml should be updated to pin postgres:16 to resolve local setup breakage. However, Line 3 specifies postgres:17.6, which is a newer version. Please clarify whether this is intentional or if the version should be postgres:16 as described in the PR objectives.


54-55: YAML structure for named volumes is correct.

The volumes section correctly uses mapping syntax (postgres_db:) rather than list syntax. This is the proper structure for defining named volumes in docker-compose.

website/documents/BltInvite.md (1)

37-37: This documentation change is incidental to the PR objectives.

This file is being updated only to fix EOF formatting (adding proper newline at end of file), which is unrelated to the PR objective of adding recently registered organizations to the registration page. The documentation content itself is well-structured and comprehensive.

BACON/bacon-etch.yaml (1)

12-12: Clarify scope and verify the structural change.

This file appears unrelated to the PR objective (adding recently registered organizations to the registration page). Additionally, there's an inconsistency: the AI summary claims a structural change from a YAML list item to a plain mapping, but the current code shows the list item format with the - prefix.

Could you confirm:

  1. Whether this file should be included in this PR?
  2. What the original state of line 12 was before this change?

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
website/views/company.py (1)

136-138: Consider query optimization and filtering.

The query fetches all Organization fields but the template may only need a subset (e.g., name, slug, logo, created). Consider using .only() or .values() to reduce data transfer. Additionally, verify whether inactive organizations (is_active=False) should be included in the recently registered list shown to public visitors.

Apply this optimization if the template only uses specific fields:

-recent_organizations = Organization.objects.all().order_by("-created")[:5]
+recent_organizations = (
+    Organization.objects
+    .filter(is_active=True)
+    .only("name", "slug", "logo", "created")
+    .order_by("-created")[:5]
+)
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between a1308be and a4435fc.

⛔ Files ignored due to path filters (8)
  • website/static/images/tech/ml.svg is excluded by !**/*.svg
  • website/static/images/tech/nlp.svg is excluded by !**/*.svg
  • website/static/images/tech/oauth.svg is excluded by !**/*.svg
  • website/static/images/tech/python.svg is excluded by !**/*.svg
  • website/static/images/tech/sql.svg is excluded by !**/*.svg
  • website/static/images/tech/tailwind.svg is excluded by !**/*.svg
  • website/static/img/tomato-svgrepo-com.svg is excluded by !**/*.svg
  • website/static/js/jquery.sparkline.min.js is excluded by !**/*.min.js
📒 Files selected for processing (40)
  • .github/codeql-config.yml (1 hunks)
  • .github/workflows/add-files-changed-label.yml (1 hunks)
  • .lgtm.yml (1 hunks)
  • BACON/bacon-etch.yaml (1 hunks)
  • BACON/ord-server/example-split.yaml (1 hunks)
  • BACON/regtest/bitcoin.conf (1 hunks)
  • Dockerfile (1 hunks)
  • Procfile (1 hunks)
  • docker-compose.yml (1 hunks)
  • docs/features.md (1 hunks)
  • issues/ValueError_staking_pool.md (1 hunks)
  • website/documents/BltAboutUs.md (1 hunks)
  • website/documents/BltBLTV.md (1 hunks)
  • website/documents/BltChangePassword.md (1 hunks)
  • website/documents/BltCommunityMembers.md (1 hunks)
  • website/documents/BltCompanyDashboard.md (1 hunks)
  • website/documents/BltCompanyListingPage.md (1 hunks)
  • website/documents/BltCompanyScoreboard.md (1 hunks)
  • website/documents/BltDetails.md (1 hunks)
  • website/documents/BltDetailsFromOwasp.md (1 hunks)
  • website/documents/BltGlobalLeaderboard.md (1 hunks)
  • website/documents/BltInvite.md (1 hunks)
  • website/documents/BltLoginPage.md (1 hunks)
  • website/documents/BltSignUpPage.md (1 hunks)
  • website/documents/BltStartaBughunt.md (1 hunks)
  • website/documents/BltStats.md (1 hunks)
  • website/documents/BltTerms.md (1 hunks)
  • website/documents/BltTrademarksSearch.md (1 hunks)
  • website/documents/BltTrademarksSearchResults.md (1 hunks)
  • website/documents/BltUserProfile.md (1 hunks)
  • website/documents/BltWeeklyActivityOfContributor.md (1 hunks)
  • website/models.py (1 hunks)
  • website/static/css/app.min.css (1 hunks)
  • website/static/css/checkInModal.css (1 hunks)
  • website/static/js/issue.js (1 hunks)
  • website/static/js/messages.js (1 hunks)
  • website/static/js/reminder_settings.js (1 hunks)
  • website/static/organization/js/hunt_controller.js (1 hunks)
  • website/templates/organization/register_organization.html (1 hunks)
  • website/views/company.py (1 hunks)
✅ Files skipped from review due to trivial changes (12)
  • website/documents/BltSignUpPage.md
  • website/static/organization/js/hunt_controller.js
  • website/documents/BltInvite.md
  • website/static/js/reminder_settings.js
  • website/static/js/issue.js
  • BACON/ord-server/example-split.yaml
  • .github/workflows/add-files-changed-label.yml
  • website/documents/BltCommunityMembers.md
  • issues/ValueError_staking_pool.md
  • website/documents/BltGlobalLeaderboard.md
  • .lgtm.yml
  • website/static/js/messages.js
🚧 Files skipped from review as they are similar to previous changes (18)
  • website/documents/BltUserProfile.md
  • website/documents/BltBLTV.md
  • website/documents/BltDetailsFromOwasp.md
  • website/documents/BltDetails.md
  • website/documents/BltCompanyListingPage.md
  • website/documents/BltCompanyDashboard.md
  • Dockerfile
  • website/static/css/app.min.css
  • website/documents/BltStats.md
  • website/static/css/checkInModal.css
  • website/templates/organization/register_organization.html
  • website/documents/BltAboutUs.md
  • website/documents/BltTrademarksSearchResults.md
  • website/documents/BltTrademarksSearch.md
  • website/documents/BltChangePassword.md
  • website/documents/BltStartaBughunt.md
  • BACON/regtest/bitcoin.conf
  • BACON/bacon-etch.yaml
🧰 Additional context used
🪛 LanguageTool
website/documents/BltWeeklyActivityOfContributor.md

[style] ~44-~44: To reduce wordiness, try specifying a number or using “many” or “numerous” instead.
Context: ...lity**: The table is designed to handle a large number of users and activity metrics, maintaining...

(LARGE_NUMBER_OF)

🪛 markdownlint-cli2 (0.18.1)
website/documents/BltTerms.md

94-94: Bare URL used

(MD034, no-bare-urls)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Run Tests
  • GitHub Check: docker-test
🔇 Additional comments (11)
docs/features.md (1)

180-180: No review needed for whitespace formatting change.

This is a cosmetic trailing whitespace removal with no impact on documentation content or functionality.

website/documents/BltWeeklyActivityOfContributor.md (1)

44-44: LGTM!

Formatting correction to use consistent single-dash bullet prefix.

website/documents/BltTerms.md (1)

94-94: LGTM!

Added trailing newline follows standard practice.

.github/codeql-config.yml (1)

43-43: LGTM!

Added trailing newline follows YAML best practices.

website/documents/BltCompanyScoreboard.md (1)

45-45: LGTM!

Formatting correction to use consistent single-dash bullet prefix.

Procfile (1)

3-3: Clarify the Procfile configuration.

Line 3 remains commented out (starts with #), so Gunicorn is not actually enabled. If the intent is to switch from uvicorn (line 2) to Gunicorn, remove the # prefix. If both are kept for reference, consider adding a comment explaining which server is active.

docker-compose.yml (2)

55-55: LGTM!

Correct YAML syntax fix—named volumes should be declared as a mapping, not a list.


3-3: Note: PostgreSQL version discrepancy.

The PR summary mentions pinning postgres:16 to resolve setup issues, but line 3 uses postgres:17.6. Verify this is intentional or if the summary needs updating.

website/models.py (1)

234-236: LGTM!

The get_absolute_url() method correctly uses Django's reverse() to generate the organization detail URL from its slug. This enables template usage of {{ org.get_absolute_url }} as required by the new "Recently Registered Organizations" section.

website/documents/BltLoginPage.md (2)

47-47: Minor formatting consistency improvement.

The formatting change normalizes the bullet point prefix for "Form Persistence" to align with Markdown conventions. This is a low-impact documentation update with no functional consequences.


1-47: Documentation file appears unrelated to PR objective.

This file contains only formatting adjustments and is unrelated to the primary PR objective of adding a "Recently Registered Organizations" section. While the changes are harmless, the scope seems misaligned.

Note: The core features mentioned in the AI summary (backend view changes in RegisterOrganizationView, Organization.get_absolute_url method addition, template updates, docker-compose modifications) are not provided in this review. Please ensure those files are included for a comprehensive review.

Copy link
Collaborator

@DonnieBLT DonnieBLT left a comment

Choose a reason for hiding this comment

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

this has too many changed files it should be one or two files changed

@DonnieBLT DonnieBLT added the d15 label Nov 15, 2025
@github-actions github-actions bot added files-changed: 48 unresolved-conversations: 0 PR has 0 unresolved conversations labels Nov 16, 2025
@DonnieBLT
Copy link
Collaborator

too many files changed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

unresolved-conversations: 0 PR has 0 unresolved conversations

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Feature: Add Recently Registered Orgs to Registration Page

2 participants