Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a reporting table for projects #4051

Merged
merged 2 commits into from
Nov 19, 2024
Merged

Add a reporting table for projects #4051

merged 2 commits into from
Nov 19, 2024

Conversation

bickelj
Copy link
Contributor

@bickelj bickelj commented Jul 12, 2024

Fixes #4050

What a small line for such a large set of changes. Those supporting changes include:

  • Creating a view for the new Reporting Table
  • Creating a current_report() method in report_config that is slightly differnt than current_report_due (see inline doc)
  • Adding a ProjectQuerySet method that does some intense subquerying to be able to express the current_report in sql so that the status can be filtered against

Note from the cherry-picker/integrator

I see that the summary tables for reports was removed from apply/projects and that the current dropdown in the main navigation header points to apply/project/reports. This new table appears under apply/project/reporting and is linked to in the original fork in which this change occurred. As for integration here, the question is: do we want to replace the original table or augment off to the side somehow? Where should the link to this new table live?

Test Steps

URL is apply/projects/reporting.

  • Get a project to the reporting phase, and it should show up in the table
  • Filter the table by not started and make sure it shows up
  • Set the project's report due to various kinds, and the report due date in table should change correspondingly
  • Save a report as a draft, which should move it to in progress on the table
  • Filter the table by in progress to make sure it shows up!
  • Complete the report, which should move it to submitted status on the table
  • Filter the table by submitted to make sure it shows up.

@bickelj bickelj requested a review from frjo July 30, 2024 16:50
@bickelj
Copy link
Contributor Author

bickelj commented Jul 30, 2024

@frjo Is this one ready for merge?

Copy link
Member

@frjo frjo left a comment

Choose a reason for hiding this comment

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

What is the main task that this table makes possible that can not be done with the main project table?

Could we extend the project table instead?

Select2 and fancybox are both packages we are moving away from. A bit hesitant to add new code that uses them.

verbose_name="Due Date", accessor="report_config__current_report__end_date"
)
current_report_last_notified_date = tables.Column(
verbose_name="Last Notified",
Copy link
Member

Choose a reason for hiding this comment

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

Please avoid title case. We have it in several places but are moving away from it.

@@ -39,6 +40,7 @@
path("all/", ProjectListView.as_view(), name="all"),
path("statuses/", get_project_status_counts, name="projects_status_counts"),
path("invoices/", InvoiceListView.as_view(), name="invoices"),
path("reporting/", ReportingView.as_view(), name="reporting"),
Copy link
Member

Choose a reason for hiding this comment

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

Moving this down to "reports/" might look nicer.

@frankduncan
Copy link
Contributor

This table is specifically for monitoring the status of reports. When projects get through the main phases and into the reporting phase, our client needed a way to manage, filter, and sort based on the status of those reports. So this adds a number of columns not on the original project table specifically having to do with whether reports are up to date, etc.

We felt that this table should be separate, just for the user experience. There would be a number of new columns that would need to be prefixed with "Report " if we added them to the project table, rather than having a view into just the status of the various project reports. Furthermore, the project table might get a bit busy.

What a small line for such a large set of changes.  Those supporting
changes include:

* Creating a view for the new Reporting Table
* Creating a current_report() method in report_config that is slightly
  differnt than current_report_due (see inline doc)
* Adding a ProjectQuerySet method that does some intense subquerying
  to be able to express the current_report in sql so that the status
  can be filtered against

Issue #4050
@frjo frjo force-pushed the add-project-reporting-table branch from 4601029 to 2a3287c Compare November 13, 2024 08:53
@frjo frjo added Status: Needs testing Tickets that need testing/qa Status: Needs dev testing 🧑‍💻 Tasks that should be tested by the dev team Type: Feature This is something new (not an enhancement of an existing thing). Type: Minor Minor change, used in release drafter labels Nov 13, 2024
@wes-otf wes-otf added Status: Tested - approved for live ✅ and removed Status: Needs testing Tickets that need testing/qa Status: Needs dev testing 🧑‍💻 Tasks that should be tested by the dev team labels Nov 18, 2024
@wes-otf
Copy link
Contributor

wes-otf commented Nov 18, 2024

Works well! I might write up an issue to put this as a view under Reports thought so we don't have menu items for Reports & Reporting, I could see that being mildly confusing to users. Let me know what you think @frjo

@frjo frjo merged commit 45f3a38 into main Nov 19, 2024
7 checks passed
@frjo
Copy link
Member

frjo commented Nov 19, 2024

@wes-otf I agree that the two report items in the menu can be confusing. Please create a PR with your suggestion, sounds better.

frjo pushed a commit that referenced this pull request Dec 6, 2024
Building off of the conversation had in #4051, this adds the navigation
to the reporting table to be under the submitted reports view rather
than being in the main nav bar

This makes things a little simpler and explicit for the user but I think
this is a temp fix, with #4239 being a permanent solution
@theskumar theskumar deleted the add-project-reporting-table branch March 11, 2025 18:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Tested - approved for live ✅ Type: Feature This is something new (not an enhancement of an existing thing). Type: Minor Minor change, used in release drafter
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add a richer Report table for Projects
4 participants