Age | Commit message (Collapse) | Author |
|
The code filtering the diffs to ensure that only the diffs for the
traits that the user has access to are visible was leading to the
diffs that relate to the same trait showing up more than once. This
commit fixes that, ensuring that each diff shows up once.
|
|
|
|
* wqflask/wqflask/metadata_edits.py: Filter out diffs that the user
has access to before sending them to the template.
* wqflask/wqflask/templates/display_files.html: Remove access control
code in the UI template.
|
|
work
|
|
The bug was caused by PCA traits not having description_display
|
|
|
|
Add GN3 Github link
Move News Twitter feed below Links (at least until the Twitter embed
starts working again)
|
|
|
|
I think this bug was caused by changing the /run_mapping endpoint to
accept both GET and POST requests, and it only seemed to occur for some
users (only Rob that I'm aware of).
I'm still not sure why it was happening, but I addressed it by returning
/run_mapping to being only POST requests, and instead allowing the
mapping hashes to be linked to with the pattern /run_mapping/<hash>
(instead of the GET request /run_mapping?hash=<hash>). This appears to
have prevented the problem from happening.
|
|
|
|
The main code should only ever get its configs from the application
configurations, and not directly from the envvars. This helps with
maintenance by ensuring that the application configurations are done
in one place, and can be traced for debugging purposes.
|
|
The `OVERRIDES` variable has no actual use in the application,
therefore, this commit removes it and its dependent code.
|
|
The individual parts of the URI to the database are not used in the
application and thus serve no purpose.
|
|
|
|
|
|
Make the error messages a little less cryptic in order to improve the
user's experience of the site.
|
|
|
|
The dataset name is needed for authorisation checks.
|
|
The new authorisation checks need the dataset name/id for checking the
access level the user has on any data. This commit passes the dataset
name/id through the requests.
We also add some exceptions to ensure that this data is passed through
before even attempting to check for the authorisation.
|
|
Pass in the database URI at call time.
|
|
Pass in the URI to the database, rather than coupling the
`database_connection` function to the application environment and
settings.
|
|
This commit creates a new entry-point module (wqflask/gn2_main.py) and
imports all the other modules that import the application object with
something like:
`from wqflask import app`
This breaks the subtle circular-import cycle that tends to cause a lot
of inconveniences when developing the application.
|
|
This is so the export function can show all rows, including ones with no
value. Previously it only fetched the rows with values (which is fine
for correlations/mapping, but not export).
|
|
|
|
|
|
|
|
|
|
* 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>
|