Skip to content

Project creation form#975

Open
alneberg wants to merge 90 commits intoNationalGenomicsInfrastructure:masterfrom
alneberg:project_creation_form
Open

Project creation form#975
alneberg wants to merge 90 commits intoNationalGenomicsInfrastructure:masterfrom
alneberg:project_creation_form

Conversation

@alneberg
Copy link
Member

This introduces the functionality to create a project from a user interface in Genomics Status. The project will be saved in LIMS using the API. Since the projects are always editable in LIMS, potential issues with this feature can be adjusted there.

To create the project, the project coordinator fills out a form (defined as a json document) and presses a submit button. The reason for this feature is that he user interface in LIMS is quite bad, with only a very small section of the form viewable at once. The LIMS UI can also not deprecate some UDF values, so the list of possible values to select can grow very large. The genstat UI will use the full page to load the form, be able to deprecate values and in addition can assist with auto-filling in values and fetching suggestions. Some fields in the form will also only be viewable if some conditions are met.

In addition, a fairly complex feature to edit these forms is introduced. This will update the form json document in statusdb.

alneberg added 30 commits April 3, 2025 10:52
@alneberg alneberg requested review from aanil and ssjunnebo November 28, 2025 16:00
@alneberg alneberg added WIP Work in progress no validation labels Nov 28, 2025
Co-authored-by: Anandashankar Anil <aanil@users.noreply.github.com>
Copy link
Contributor

@ssjunnebo ssjunnebo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! I've just left some very minor comments.
Also, in the "User account" field, the sorting of the suggestions that appear is reversed alphabetical. Also not that important, but possibly someone could be annoyed by it eventually 😄

Comment on lines +59 to +64
# If the requested version is the only thing in active_forms, it's fine
if version_id not in active_forms:
return False
# If the requested version is not in active_forms, it's not fine
if len(active_forms) == 1:
return True
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should the comments be the other way around?

"""Handler used to render the project creation page using the valid form."""

def get(self):
t = self.application.loader.load("project_creation/project_creation.html")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A more descriptive name for t would be nice


def get(self):
# Render the template with the list of forms
t = self.application.loader.load("project_creation/list_forms.html")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same for this t

}
},
methods: {
async onInputChange(event) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if this function is used anywhere

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no validation WIP Work in progress

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants