Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement lab storage module with samples tracking #1

Open
wants to merge 24 commits into
base: develop
Choose a base branch
from

Conversation

nmunatsibw
Copy link

This commit introduces a comprehensive lab storage module which enhances data management with features like real-time sample tracking, sample status updates, and data pagination. It creates new model classes for data entities in 'models.py', builds views for managing data display in 'views.py', and constructs Django templates for webpage generation. Furthermore, it expands the .gitignore file to skip certain irrelevant files.

nmunatsibw and others added 24 commits February 27, 2024 11:10
Created a new Django application, 'storage_module', with default configurations and project files. This includes creating ASGI and WSGI configuration files, manage.py script for administrative tasks, project settings, and start-up data script for generating fake data. Also, configured project's URLs and instantiated project's initial data model.
This commit includes updates to the .gitignore file to ignore certain resource files. The SQLite database file, the PyCharm IDE configuration directory, and the storage module migration files are now excluded from version control.
This commit introduces a comprehensive lab storage module which enhances data management with features like real-time sample tracking, sample status updates, and data pagination. It creates new model classes for data entities in 'models.py', builds views for managing data display in 'views.py', and constructs Django templates for webpage generation. Furthermore, it expands the .gitignore file to skip certain irrelevant files.
This commit introduces a comprehensive lab storage module which enhances data management with features like real-time sample tracking, sample status updates, and data pagination. It creates new model classes for data entities in 'models.py', builds views for managing data display in 'views.py', and constructs Django templates for webpage generation. Furthermore, it expands the .gitignore file to skip certain irrelevant files.
This commit introduces significant changes to the models in 'storage_module'. New classes (BoxPosition, Note) were added, which improve the capability to track sample positions and store sample related notes. Additional changes were made to existing models to better accommodate storage hierarchy and relationships. New HTML templates and Django views were created to present the newly-designed data models to users. URL routing was updated to reflect new views. This effort greatly enhances the detail, flexibility and usability of biological sample storage and tracking operations in the system.
A new script, data_script.py, has been added to generate fake data for the storage module. This script populates various models such as User, Facility, Sample, etc., with faker library to simulate a realistic environment for testing. Alongside, requirements.txt has been updated with the necessary libraries for running the script.
Reordered the dependencies in the requirements.txt file and updated the source URL for the edc-base dependency. The new URL points to a more secure HTTPS Github repository instead of the previous SSH one.
Enhanced models in the storage module to now allow certain fields to be null. This includes fields in the DimBox, DimSample, DimRack, and DimFreezer classes. Introduced additional fields in DimSample class to cater to more data such as gender and date of birth. Added a new Pentaho data integration transformation file, old_lis_transformation.ktr, to handle specific data transformations.
Enhanced models in the storage module to now allow certain fields to be null. This includes fields in the DimBox, DimSample, DimRack, and DimFreezer classes. Introduced additional fields in DimSample class to cater to more data such as gender and date of birth. Added a new Pentaho data integration transformation file, old_lis_transformation.ktr, to handle specific data transformations.
Added 'T_boxes.ktr' transformation and 'J_old_lis_data.kjb' job files. These files handle important data flow and transformations directly related to the operational process. This contributes significantly to the overall performance of the environment and helps with data management tasks.
The existing README formatting has been updated for clarity and readability. Extra spaces were removed and bullet points were added for list items. Markdown syntax usage has also been
The existing README formatting has been updated for clarity and readability. Extra spaces were removed and bullet points were added for list items. Markdown syntax usage has also been optimized.
The flows of hops, the order, and the interaction among steps have been significantly modified in the T_freezers.ktr file. In addition, adjusted properties and attributes within steps, including insert of stream lookup and significant restructuring of the flow. Changes were made to enhance efficiency and functionality.
The flows of hops, the order, and the interaction among steps have been significantly modified in the T_freezers.ktr file. In addition, adjusted properties and attributes within steps, including insert of stream lookup and significant restructuring of the flow. Changes were made to enhance efficiency and functionality.
The sqlite3 binary file has been deleted from the current branch. db.sqlite3 is generated locally and should not be included in a source code repository, hence it has been removed. This change will not affect the functional codebase.
…onality

In this update, str methods were added to model classes to provide better string representations. This will aid in debugging and logging. Additionally, functionality for moving samples in the storage module was implemented, allowing users to select samples and indicate their new positions. Forms and necessary views were also updated to accommodate these changes.
This update refactors the "facility detail view" in the storage module. The main changes include the use of a helper method to create dictionaries, resulting in much clearer and more maintainable code. It also includes an optimization in the freezer_total_samples calculation for improved efficiency.
This commit simplifies and refactors the freezer detail view. The post method and the get_context_data method have been refactored for better readability, a new function, move_box_using_form_data, was also added to improve code organization. Furthermore, redundant codes for generating box, shelf and rack data have been abstracted into a reusable function.
The `post` method in `rack_detail_view.py` and `sample_detail_view.py` has been refactored for better code readability. Delegating parts of the method to `process_form` and `get_location` function improves maintainability. The code also includes enhancements in the setting of context data, removing verbose code sections. Add message block in the base template, and configure message tags in the settings. Unnecessary chunks of code are removed for cleaner code structure.
The `post` method in `rack_detail_view.py` and `sample_detail_view.py` has been refactored for better code readability. Delegating parts of the method to `process_form` and `get_location` function improves maintainability. The code also includes enhancements in the setting of context data, removing verbose code sections. Add message block in the base template, and configure message tags in the settings. Unnecessary chunks of code are removed for cleaner code structure.
The `post` method in `rack_detail_view.py` and `sample_detail_view.py` has been refactored for better code readability. Delegating parts of the method to `process_form` and `get_location` function improves maintainability. The code also includes enhancements in the setting of context data, removing verbose code sections. Add message block in the base template, and configure message tags in the settings. Unnecessary chunks of code are removed for cleaner code structure.
The `post` method in `rack_detail_view.py` and `sample_detail_view.py` has been refactored for better code readability. Delegating parts of the method to `process_form` and `get_location` function improves maintainability. The code also includes enhancements in the setting of context data, removing verbose code sections. Add message block in the base template, and configure message tags in the settings. Unnecessary chunks of code are removed for cleaner code structure.
Made changes to button layout and functionality in the 'sample_detail.html' file. Replaced the 'Move Sample' button from a Modal activation button to a direct link URL. Also, updated the URL linkage of 'Account Management' under 'navbar.html' from a hardcoded URL to a dynamic URL based on 'user.id'.
Made changes to button layout and functionality in the 'sample_detail.html' file. Replaced the 'Move Sample' button from a Modal activation button to a direct link URL. Also, updated the URL linkage of 'Account Management' under 'navbar.html' from a hardcoded URL to a dynamic URL based on 'user.id'.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants