Skip to content

Comments

Download CSV of samples #265

Merged
mortenlyn merged 5 commits intosummer25-week-29from
csv-greier
Jul 16, 2025
Merged

Download CSV of samples #265
mortenlyn merged 5 commits intosummer25-week-29from
csv-greier

Conversation

@mortenlyn
Copy link
Contributor

@mortenlyn mortenlyn commented Jul 15, 2025

Refactor CSV export logic to enable different data based on area.

The changes make it possible to download a CSV-file that is closely related to the common-excel-files that staff already uses. They are also dynamically changed based on the area.

@mortenlyn mortenlyn changed the base branch from main to summer25-week-29 July 15, 2025 08:18
@mortenlyn mortenlyn changed the title Csv greier Download CSV of samples Jul 15, 2025
@mortenlyn mortenlyn self-assigned this Jul 15, 2025
@mortenlyn
Copy link
Contributor Author

It is also possible to refactor these changes to account for different headers per species if that is needed later.

As per now, the CSV file that is downloaded includes the necessary columns for extraction, and is missing most of the columns needed for analysis because we don't know exactly how we want to do that yet. The included column-headers are based on the area which the order is connected to, while "Akvatisk" is divided into two; "Elvemusling" has its own CSV-file and the rest of the species in this area has a common CSV-format.

@mortenlyn mortenlyn marked this pull request as ready for review July 15, 2025 12:12
@mortenlyn mortenlyn requested review from aastabk and omfj July 15, 2025 12:13
@mortenlyn mortenlyn merged commit 6da534c into summer25-week-29 Jul 16, 2025
8 checks passed
@mortenlyn mortenlyn deleted the csv-greier branch July 16, 2025 06:15
github-merge-queue bot pushed a commit that referenced this pull request Jul 21, 2025
* Only one button for generating genlab id and set as "processing" (#248)

* Add logic to mark order as completed when all samples are isolated (#250)

Updated checkbox-name so that it is connected to the order-id

Co-authored-by: Morten Madsen Lyngstad <morten.lyngstad@bekk.no>

* Add priority to urgent orders table (#251)

* Exclude 'pop_id' and 'location' fields from OrderExtractionSampleTable (#254)

Co-authored-by: Morten Madsen Lyngstad <morten.lyngstad@bekk.no>

* Only genrequest members can mark an order as seen (#252)

* Only genrequest members can mark an order as seen

* Move logic closer to frontend

* Removed unnecessary code, checks buttons everywhere, added check in post.

* Removed prints

* Fixed linter error

* Count isolated samples (#260)

* Assign staff to all orders (#263)

* Changes the buttons to a specified format. Moved buttons to the top. Preparing for filters.

* Use correct delivery date on dashboard (#268)

* Filter for orders and samples. Lab is missing. (#270)

* Run CI on summer25-*

* Download CSV of samples  (#265)

* Update IsolationMethod model to allow non-unique names and optimize queries in SampleLabView

* Add macOS specific files to .gitignore

* Add analysis orders, project, and isolation method fields to SampleCSVSerializer and update CSV export logic

* Add marked, plucked, and isolated fields to SampleCSVSerializer and update SampleViewset for CSV export

---------

Co-authored-by: Morten Madsen Lyngstad <morten.lyngstad@bekk.no>

* Changed to tailwind styling (#273)

* Completed order does not show in my orders and urgent orders (#275)

* Add multicolumn sorting samples (#276)

* Implement custom header rendering for sortable tables and enable multi-column sorting

* Refactor sample status management

Replace SampleStatusAssignment with boolean fields for marked, plucked, and isolated.

Update other parts of the code which were effected by this change.

---------

Co-authored-by: Morten Madsen Lyngstad <morten.lyngstad@bekk.no>

* Change text on dashboard (#280)

* Implement custom header rendering for sortable tables and enable multi-column sorting

* Refactor sample status management

Replace SampleStatusAssignment with boolean fields for marked, plucked, and isolated.

Update other parts of the code which were effected by this change.

* Update titles for new order tables on dashboard

* Add nowrap class to status rendering for better text display

---------

Co-authored-by: Morten Madsen Lyngstad <morten.lyngstad@bekk.no>

* Fix name sorting (#281)

* Patch to sort properly when name is a mix of int and char, as well as only int or char. Generate genlab ID based on other fields (type).

* Order is now only decided by the rows in the table, not a sorting_order value.

* Update src/staff/tables.py

Co-authored-by: Ole Magnus <me@omfj.no>

* Added order.id to lock the db

* added safe "select_for_update()"

* Converted back to list and modified the tests to the current genlab id generation

* Now abe to sort all types of names

---------

Co-authored-by: Ole Magnus <me@omfj.no>

* Genlab ID patch (#271)

* Patch to sort properly when name is a mix of int and char, as well as only int or char. Generate genlab ID based on other fields (type).

* Order is now only decided by the rows in the table, not a sorting_order value.

* Update src/staff/tables.py

Co-authored-by: Ole Magnus <me@omfj.no>

* added safe "select_for_update()"

* Removed prints

---------

Co-authored-by: Ole Magnus <me@omfj.no>

* Sample list does no longer show guid or plate position, but shows location (#290)

* Added filtering on types for extraction order (#287)

* Maked sample statuses constants instead of strings (#289)

Co-authored-by: Morten Madsen Lyngstad <morten.lyngstad@bekk.no>

* Update order-status-logic when converted to draft (#284)

Set 'is_seen' to False  when converted to draft.

Order must be marked as "seen" to be shown in assigned orders (my orders).

Co-authored-by: Morten Madsen Lyngstad <morten.lyngstad@bekk.no>

---------

Co-authored-by: Bertine <112892518+aastabk@users.noreply.github.com>
Co-authored-by: Morten Lyngstad <81157760+mortenlyn@users.noreply.github.com>
Co-authored-by: Morten Madsen Lyngstad <morten.lyngstad@bekk.no>
Co-authored-by: aastabk <aastabk@stud.ntnu.no>
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.

3 participants