Age | Commit message (Collapse) | Author |
|
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.
|
|
* 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.
|
|
Move the generic exception handler to the `wqflask.app_errors` module
and register it with the `register_error_handler` method.
|
|
|
|
* wqflask/wqflask/templates/genotype.html: New template.
* wqflask/wqflask/views.py (get_phenotype): New endpoint.
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
|
|
|
|
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).
|
|
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).
|
|
attributes from 10 to 500
|
|
section-form-div
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Namespace the session variable name to avoid conflicts with other
systems served on the same domain.
|
|
* wqflask/wqflask/templates/phenotype.html: New template.
* wqflask/wqflask/views.py (get_phenotype): New endpoint.
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
|
|
|
|
|
|
|
|
* wqflask/wqflask/templates/publication.html: New page.
* wqflask/wqflask/views.py (get_dataset): New function.
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
|
|
for the highest points on the manhattan plot
|
|
some reason)
|
|
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
|
|
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
|
|
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
|
|
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
|
|
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
|
|
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
|
|
* 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>
|
|
* 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>
|
|
Using flask.current_app.config for configurations does not give the
appropriate configurations.
|
|
|
|
|
|
|
|
|
|
|
|
Reorganise the UI for resource creation.
Add a checkbox that sets the resource as publicly viewable by default.
|
|
|
|
|
|
error if there's nothing in the GeneList table for the interval selected
|
|
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
|
|
Also fix the display so it only shows 3 decimal places
|
|
This doesn't yet support adding sample data for samples that don't already have values
|
|
|
|
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.
|
|
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.
|
|
|