Giter Site home page Giter Site logo

enricoba / turtle-lab Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 1.0 732 KB

free open source laboratory management for reagents and samples

License: GNU General Public License v3.0

Python 68.95% HTML 25.85% CSS 0.91% JavaScript 4.29%
free opensource laboratory samples reagents management gxp open source

turtle-lab's People

Contributors

enricoba avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

moodykeke

turtle-lab's Issues

box types default not editable

box type object can not be edited it default

  • must check in validation if default is the same object
  • validation must only raise error if default is set for another object

individual attributes

individual attributes for all tables

  • add dynamic columns to each table
  • select data type for IA
  • select default value for IA

TODO

  • IA table
  • merge table
  • audit trail for merge table
  • adapt framework
    -- checksum data integrity validation
    -- add / edit / delete / read
    -- deleted audit trail

reagent wizard

UPDATE

type choice not needed --> get from selected reagent/sample


guided streamlined reagent wizard

(A = active | B = passive)

  1. A: add reagent
  2. A: select reagent type
  3. P: preselect suitable boxes by reagent type
  4. P: find suitable box with free slot
  5. P: show box and slot to use
  6. A: scan offered box to confirm placement

lock record when in edit

lock record for all users when in editing mode by a user

  • show lock symbol
  • provide tooltip info who locked the dialog

additional dialog "locked objects" required

  • must show all locked objects
  • function for releasing lock

export

function to export all data of a dialog

  • selectable data type (csv)

permission management

make permissions fully working

permissions for:

  • view
  • write (add/edit)
  • delete
  • function use (includes view)

rules:

  • inheriting top down (write / delete include view)
  • when no permission granted, dialog and navbar entry shall not be visible

todo:

  • must be implemented in back end and front end

table filters

filter function for tables and audit trail dialogs

  • quick filter for in-line filtering
  • dialog for filter settings

boxing

boxing shall be a function to allocate samples to boxes. when linked samples must be moved when box moves.

validation rules:

  • only samples of same thaw/freeze condition can be in same box
  • all samples of a box are in same condition
  • when box is moved all samples are moved
  • box:sample -- 1:n (optional on both, box can be empty, sample can be in none or only one box)

box type master data

new master data "box types"

  • move all box attributes to this MD
  • add default field (bool, unique, not mandatory)

label log advanced

advanced label log features

  • reprint button (original label) with mandatory comment
  • discard/destroy (with mandatory comment)
  • comment additional field for log

login attempts must reset

users who are deactivated try to login. login attempts are not resetting after re-activating users

  • must be reseted when user is re-activated

GUI re-design

GUI re-design

  • navigation bar on the left
    -- easy large buttons for add and read
    -- add with major fields
    -- search field
    -- export / import button

  • stick top table

  • top navigation for major areas (samples / reagents / master data / administration)

types master data

type affiliation for samples and reagents

  • define types
  • sample / reagent
  • conditions for storage and usage (shall replace account definitions on a global lvevel)

table selecting

imitate default "windows" handling

  • single click activate/deactivate
  • ctrl click adding single items to selection / removing selected items from selection
  • shift start to selection must select all in between including start and end

box types default blocking

box types default attribute is checked independent of the target state

  • must consider target state and only raise error for target state = "true"

settings

collection for things to deal via global settings per installation

  • timezone display
  • new box limit (how many places left empty before must add new box)
  • mandatory settings for dialog comment fields (setting for each form/dialog)

boxing log

log for boxing actions

  • what (object, initial box, new box)
  • who
  • when

permission limit reached

can not add new permission to roles select table

  • html can not be rendered
  • design new approach to deal with permissions
    - no permissions for "overview" at the moment!

form update

update all forms for input validation rules and help texts

  • redesign groups form for better UI

move multiple

move multiple samples with one function

  • select multiple in modal must be realized

boxes delete must delete boxing

  • when deleting boxes the box remains in table "boxing"
  • must also be deleted
  • shall NOT be implemented before delete validation rules

performance

  • define strategy for serving static files CDN/Nginx
  • idea: load static files and non-changed html in default template and only render input
  • evaluate use of cache

import

import .csv files shall be possible for samples in the first place.

idea: csv files can include any of the possible fields. included fields shall be used from import file non included fields must be provided by the default sample dialog

import dialog must not include "amount" amount = rows in import file
import file headers must match field names shown in GUI "name" "account" etc.

simplify samples

reduce samples to function critical attributes

  • remove UOM, volume and type

footer overlay content

footer may overlay query content

  • content shall not be overly by footer
  • remove footer or adapt to meet demands

delete audit trail

audit trail function for deleted objects shall be available

  • own function button that opens dialog to search/filter for deleted objects
  • shall list all objects, deleted and not-deleted
  • generic function for each dialog
  • only showing data for the active dialog

label log

design label log

  • content: who, what, when, action (print/reprint/destroy)

reagents master data

complete master data dialog for reagents

  • user identifier prefix "R"
  • model
  • forms

duplicate function

create function to duplicate records

  • shall only be available for existing records
  • fills in selected record values into "new" form
  • color highlight unique field for required modification

navbar permission master data

navbar element "master data" does not hide when no master data permission is granted

shall behave like "admin" or "logs"

export audit trail

enable export button in audit trail dialogs

  • use same as view export
  • add suffix to dialog for audit trail
  • extend tables dictionary in models with audit trail tables

boxes

boxes must be enhanced for:

  • box alignment (vertical/horizontal)
  • selectable x/y axis settings (numeric/mixed/none) (only for graphic display)
  • max values per axis (always numbers)
  • origin (top-left, top-right, bottom-left, bottom-right)

password form

password form for changing password after initial login must be adapted to meet following:

  • blue text field below "password"
  • adapt text for password fields

edit closes on false validation

when editing records false validation leads to close of modal

expected behavior:

  • modal shall only close on successful validation
  • on false validation error text shall be shown and modal must remain open

box simplify

simplify box

  • remove all parameters from box
  • add box type (mandatory)
  • add type (e.g. "oligo", "blood", "tissue", "urine" or etc.) (optional for mixed boxes)

export overview

can not export due to spelling mistake in permission dictionary for exports

data integrity

rework data integrity approach

  • remove integrity column
  • in case of false integrity color highlight row to save space

location max boxes

enhance location dialog with attribute "max boxes"

  • used to determine if location is full
  • optional field
  • text: "select an appropriate value for maximum box capacity"
  • if empty boxes = infinity (for locations that are not limited in space like rooms or buildings)

delete validation

delete validation rules for referenced objects

  • when object is referenced by another object it shall not be able to delete the item

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.