aboutsummaryrefslogtreecommitdiff
path: root/wqflask
AgeCommit message (Collapse)Author
2023-06-20Add blueprint and rework configuration retrievalFrederick Muriuki Muriithi
Add a blueprint for the `wqflask.api` package and register the `wqflask.api.router` module as a child. Rework the cascading imports to use the new configuration system to avoid circular imports.
2023-06-20Configs: Introduce Blueprints. Refactor configs in webqtlConfig.Frederick Muriuki Muriithi
* Introduce flask Blueprints to help with decoupling the various modules from the `wqflask/__init__.py` module * Refactor settings: Create a function `base.webqtlConfig.init_app(...)` to handle setting up the configurations on the app correctly. Call this function at app creation time. * Move configuration utility functions from `utility.tools` module to `utility.configuration` module. * Use the `get_setting(...)` function to retrieve configuration settings from the application.
2023-06-20Move generic exception handler.Frederick Muriuki Muriithi
Move the generic exception handler to the `wqflask.app_errors` module and register it with the `register_error_handler` method.
2023-06-18Disable document editing - should move to markdown instead.Pjotr Prins
2023-06-15Add genotype pageMunyoki Kilyungi
* wqflask/wqflask/templates/genotype.html: New template. * wqflask/wqflask/views.py (get_phenotype): New endpoint. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-14Fix broken get_trait_units testzsloan
2023-06-14(Hopefully)fix bug where the mapping form submission is sometimes wrongly ↵zsloan
treated as a GET, causing the code to check for a hash_of_inputs input that doesn't exist. This is hard to troubleshoot because I could never reproduce the issue (only Rob has mentioned it), but the error Rob showed me seems to directly imply this was issue, so hopefully this change (which directly checks if hash_of_inputs is set) will prevent it from happening. It's possible it will still throw a different error, though (if it's actually treating it as a GET, it presumably won't have any of the other inputs it expects). This issue is a bit confusing, because I'm not sure how/why mapping run from the trait page would ever be treated as a GET request (since the show_trait page form is POST).
2023-06-14Fix main search bug causing AND searches to no longer workzsloan
The cause of this bug is that, when the autocomplete feature was implemented, it checks the OR search field (in order to save its contents) and only submits the form if it isn't empty. This means that, if the user fills out the AND field and submits the form, nothing happens. I changed it to check both the AND and OR fields (and save both of their contents). While not perfect (since only one field is ever actually used), I figured it's best to just store everything (and there isn't really any way to know which search is intended when both fields are filled).
2023-06-14Increase number of distinct values for showing the 'Block samples by group' ↵zsloan
attributes from 10 to 500
2023-06-14Remove unused color-by-attribute option + put violin plot div in a ↵zsloan
section-form-div
2023-06-14Change mapping descriptionszsloan
2023-06-14Remove unused classzsloan
2023-06-14Make basic stats Plotly figures more consistentzsloan
2023-06-14Change plotly layout options for probability plotzsloan
2023-06-14Change CSS for mapping options/description for better fitzsloan
2023-06-14Make default unit_type value with lower-case vzsloan
2023-06-14Remove extra spacezsloan
2023-06-13Namespace session variable.Frederick Muriuki Muriithi
Namespace the session variable name to avoid conflicts with other systems served on the same domain.
2023-06-12Add phenotype pageMunyoki Kilyungi
* wqflask/wqflask/templates/phenotype.html: New template. * wqflask/wqflask/views.py (get_phenotype): New endpoint. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-08bug: Fix URI to prevent unnecessary redirect.Frederick Muriuki Muriithi
2023-06-08Remove authorization restriction on viewing sample datazsloan
2023-06-08Fix bug by providing anon_id to collections/addzsloan
2023-06-07Add publication pageMunyoki Kilyungi
* wqflask/wqflask/templates/publication.html: New page. * wqflask/wqflask/views.py (get_dataset): New function. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-06Add 1 to LRS_LOD_MAX in order to prevent situations where a tick is missing ↵zsloan
for the highest points on the manhattan plot
2023-06-06Align probability plot title to the left ('xanchor: right' does this for ↵zsloan
some reason)
2023-06-06Make geoSeries a linkMunyoki Kilyungi
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-06Put metadata name in a new lineMunyoki Kilyungi
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-06Fix geoplatform link in datasets pageMunyoki Kilyungi
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-06Fix some titles in INFOPAGEMunyoki Kilyungi
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-06If a title doesn't exist, use the metadata name insteadMunyoki Kilyungi
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-06Update dataset page to match GN1Munyoki Kilyungi
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-02Add dataset link that uses RDFMunyoki Kilyungi
* wqflask/wqflask/templates/dataset.html: New page. * wqflask/wqflask/templates/show_trait_details.html: Add link to GN2 datasets page. * wqflask/wqflask/views.py (get_dataset): New endpoint. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-02Delete trait metadata from the show_traits pageMunyoki Kilyungi
* wqflask/wqflask/templates/show_metadata_details.html: Delete. * wqflask/wqflask/templates/show_trait.html: Delete if block that checks includes trait metadata. * wqflask/wqflask/views.py: Remove "metadata". Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-05-31Use utility.tools to get configuration variablesFrederick Muriuki Muriithi
Using flask.current_app.config for configurations does not give the appropriate configurations.
2023-05-31Compute dataset type from name.Frederick Muriuki Muriithi
2023-05-30Fix test: Sort values to avoid equality problems.Frederick Muriuki Muriithi
2023-05-30Fix test: Expect tuple not set.Frederick Muriuki Muriithi
2023-05-30Fix test: Expect tuple not set.Frederick Muriuki Muriithi
2023-05-25auth: Show publicly visible traits.Frederick Muriuki Muriithi
2023-05-25Rework UI. Set resource publicly viewable by default.Frederick Muriuki Muriithi
Reorganise the UI for resource creation. Add a checkbox that sets the resource as publicly viewable by default.
2023-05-24Add link to user-account registration page.Frederick Muriuki Muriithi
2023-05-23oauth2: Enable admins to masquerade as other usersFrederick Muriuki Muriithi
2023-05-22Initialize exonStarts and exonEnds for mouse, since it currently throws an ↵zsloan
error if there's nothing in the GeneList table for the interval selected
2023-05-22Allow for editing values of samples that don't currently have valueszsloan
Deletions aren't working yet. This is dependent on a GN3 chance that allows the sample_list to be passed to get_trait_csv_sample_data
2023-05-22Fix phenotype metadata template to only read in changed sample datazsloan
Also fix the display so it only shows 3 decimal places
2023-05-22Add support for editing sample data via an HTML tablezsloan
This doesn't yet support adding sample data for samples that don't already have values
2023-05-19auth: Integrate metadata editting with new authFrederick Muriuki Muriithi
2023-05-19auth: Use auth privileges to control UI displayFrederick Muriuki Muriithi
Use the privileges from the authorisation endpoint to control which elements of the UI are displayed to the user. * wqflask/base/trait.py: Remove unused import * wqflask/wqflask/show_trait/show_trait.py: Unhook from GN-PROXY * wqflask/wqflask/templates/show_trait.html: Display or hide UI elements depending on the privileges the user has. * wqflask/wqflask/templates/show_trait_details.html: Display or hide UI elements depending on the privileges the user has. * wqflask/wqflask/views.py: Pass privileges, user, and resource details on to the UI template to be used for controlling UI element display.
2023-05-18auth: Change collection nameFrederick Muriuki Muriithi
Enable the changing of the collection names. * wqflask/wqflask/collect.py: Send data to GN3 API * wqflask/wqflask/templates/collections/view.html: Use an actual form and submit it.
2023-05-18auth: Display flash messages.Frederick Muriuki Muriithi