aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-20Restore configuration variables' namesFrederick Muriuki Muriithi
The names had been changed when refactoring the code but can now be restored.
2023-06-20Remove use of Flask Blueprints for the modules recently changed.Frederick Muriuki Muriithi
2023-06-20Remove intermediate blueprint.Frederick Muriuki Muriithi
2023-06-20configs: Fix issues caught by mechanical-rob testsFrederick Muriuki Muriithi
2023-06-20Add `create_app()` application factoryFrederick Muriuki Muriithi
Create the application and set up configs and other things within an application factory function. Fix obvious egregious errors preventing the application from starting up correctly.
2023-06-20configs: set mandatory settings in the appFrederick Muriuki Muriithi
Set up the mandatory settings in the `flask.current_app.config` object rather than in the file itself.
2023-06-20configs: Refactor to fetch configs consistently.Frederick Muriuki Muriithi
2023-06-20Blueprints for user_session and user_login modules.Frederick Muriuki Muriithi
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-18Updating READMEsPjotr Prins
2023-06-18Remove unused locust filePjotr Prins
2023-06-18Disable document editing - should move to markdown instead.Pjotr Prins
2023-06-18Cleaning up READMEs - moving stuff to gemtextPjotr 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-13Deactivate correlation correctness tests temporarily.Frederick Muriuki Muriithi
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