Skip to content

Releases: usnistgov/NEMO

5.6.1

15 May 19:45
Compare
Choose a tag to compare

Bug fixes

  • Fixed an issue when reporting an problem or comment in the kiosk would not use the correct user

5.6.0

02 May 21:26
6bca6db
Compare
Choose a tag to compare

Upgrade notes

  • To use the new automatic deactivation when a user's access expires, a new timed services need to be added, nemo_deactivate_access_expired_users
    Systemd services are available in the systemd folder

New feature

  • Users with access expiring can now be automatically deactivated. The timed service needs to be set and at least one user type option needs to be picked in Customization -> User -> Access expiration - deactivate users

Improvement

  • Policy rules were changed, so that the access expiration date on users now prevents users from making reservations and engaging tools.
  • active and access_expiration fields have also be renamed to active NEMO account and active access expiration (respectively) to be more explicit
  • By default, broadcast emails will also not be sent to users with access expired. An option was added to still send it to them when writing a message

5.5.3

30 Apr 13:16
Compare
Choose a tag to compare

Bug fix

  • fixed a bug with model instance copies that interfered with the new version of auditlog

5.5.2

23 Apr 20:57
d604601
Compare
Choose a tag to compare

Improvements

  • added name field to interlock to provide more flexibility for naming them
  • change default date range for project usage to the current day instead of the current month (which could take a long time to load)

5.5.1

19 Apr 20:04
Compare
Choose a tag to compare

#Bug fixes

  • fixed a bug when trying to upload project and user documents (display_order field needed a default value)

5.5.0

17 Apr 15:41
b36a6e2
Compare
Choose a tag to compare

Upgrade notes

  • [IMPORTANT] ORACLE users only: due to a bug in the third party library auditlog, you need to follow instructions for 2 step migration highlighted here: https://django-auditlog.readthedocs.io/en/latest/upgrade.html
  • 2 timed services need to be added, nemo_check_update_wait_list and nemo_email_scheduled_outage_reminders for the new tool waitlist operation mode and the scheduled outages email reminders, respectively. Systemd services are available in the systemd folder
  • 2 email templates need to be added for those features as well, in Customization -> File & email templates: wait_list_notification_email.html and scheduled_outage_reminder_email.html, available in the emails folder

New features

  • Tools can now operate in 3 modes: regular/waitlist/hybrid (thanks JPL Microdevices Laboratory for the contribution!):
    • Regular mode is the normal/previous mode of operation and the default for all tools
    • Waitlist mode allows users to sign up on a list when someone is already using the tool, and to be notified when it's their turn. Tool reservations are not allowed in waitlist mode.
    • Hybrid mode is similar to waitlist mode except that reservations are still allowed and take precedence over the waitlist.
    • There are customization options to specify buffer times after which a spot is lost and to determine if the tool should be available if it's close to a reservation time.

Improvements

  • Added settings in Customization -> Calendar to specify the time format used for the events (thanks @r-xyz for the contribution!)
  • Reporting a problem and adding a comment for a tool is now available in the Kiosk (Thanks Stanford SNF for the contribution!)
  • HTML is now allowed in alert contents
  • In Detailed administration -> Configuration, added new column to show whether the linked tool is visible and added filter
  • Added display order to documents throughout NEMO (Tool documents, User documents, Project documents, Contract documents, Safety item documents, Knowledge base documents).
  • Added display order for Safety items in the same category and Knowledge base items
  • Project usage will now show all usage by default when nothing is selected (selecting a user, project or application is not required anymore)
  • Added scheduled outage reminders to be set on tool/area/resource outages (Thanks Polytechnique Montreal for the contribution!).
  • Updated resource outage page to allow recurring outages.
  • Added a "Mark as applied" button on adjustment requests to signal that the adjustment has been dealt with (Thanks Cornell NanoScale Facility for the contribution!).
  • Added an "Adjust charge" button on adjustment requests to change the charge itself based on the approved dates (Thanks Cornell NanoScale Facility for the contribution!).

Bug fixes

  • Fixed sensors not accepting 0 value
  • Fixed dismissible alerts for users not showing the option to actually dismiss it
  • Fixed validation error in transfer charges showing the exception page instead of in the form itself

Libraries

  • django-auditlog 2.3.0 -> 3.0.0
  • djangorestframework 3.14.0 -> 3.15.1
  • Pillow 10.2.0 -> 10.3.0

5.4.1

04 Apr 15:44
Compare
Choose a tag to compare

Bug fixes

  • fixed icons not showing in sidebar

5.4.0

03 Apr 17:38
c776447
Compare
Choose a tag to compare

This new version of NEMO does not contain any new functionality, but the codebase has been entirely reformatted using djlint.
This means that from now, all code and contributions should be formatted using djlint.
To make this automatic, configuration files and pre-commit hooks have been added (see below).

For developers

  1. Run pip install ./["dev-tools"] to install pre-commit, black and djlint
  2. Install pre-commit hooks by running pre-commit install
  3. Pull the latest version and run pre-commit run --all-files to double check (everything should pass)

Upgrade notes (Forks only)

If you have a fork of NEMO, the easiest way to update is the following:

  1. Merge all changes up to NEMO 5.3.1
  2. Run pip install ./["dev-tools"] to install pre-commit, black and djlint
  3. Install pre-commit hooks by running pre-commit install
  4. Create a new branch in your fork git checkout -b <branch_name>
  5. Run pre-commit hooks on the entire codebase pre-commit run --all-files
  6. Merge NEMO 5.4.0
  7. Resolve any potential conflicts by accepting your version over NEMO

5.3.1

21 Mar 16:19
Compare
Choose a tag to compare

Bug fixes

  • fixed calendar/tool control bug when using the search bar and it takes 2 searches to show the correct feed
  • fixed capitalization in tool customization page
  • fixed order of after tool logoff popups

5.3.0

20 Mar 17:59
a231f1c
Compare
Choose a tag to compare

New features

  • Added support for pre-usage questions (thanks Stanford SNF for the contribution!).
  • Added support for multiple areas in area access tablet screen, i.e. a door can provide entry to more than one area (thanks UPenn Singh Center for the contribution!).
  • Added new Formula type of Post usage question, allowing more flexibility when charging for consumables or for converting units based on other fields. Formula type questions are hidden from the user and evaluated after the user answers post usage questions. They can be nested and call another formula results, and they can also be used on a group question in which case the variable becomes a list of all the values (allowing to use sum(gold_used) for example, if the user is asked how much gold they used for each of their processes).
  • Added User and Staff knowledge base pages, where facilities can list documents, links, and other information for users and staff to browse (for example procedures for staff, training for users etc.).

Improvements

  • Made the email preview button in the broadcast email feature scroll to the preview section.
  • Now showing access expiration date in users' page.
  • Tool superusers can now see the list of qualified users in tool control and there is a new customization option to display that list to everyone. #201
  • Added an option (Customization -> Tools) to allow everyone to see the list of qualified users in tool control
  • Added options (Customization -> Calendar) to get a confirmation dialog before creating a reservation. It can be set globally and overridden individually by users in their preferences (thanks @abuckles-uci, @crprice and Alyssa Sheffler from UC Irvine for the contribution!).
  • Improved menu layout with smaller sizes. The menu will collapse into the hamburger menu when the menu items break the layout (for long names for example).
  • Added staff charge info on collapsed menu bar.
  • Updated most related fields in detailed admin (user, project, etc.) to use data lists instead of basic drop-downs.
  • Now displaying the user's main email address in their preferences page.
  • Checking for duplicate emails in email broadcast feature so it's not sent twice to the same address.
  • Added support for consumable_id in post usage questions to identify consumable uniquely (since consumable name is not unique).
  • Create a new impersonate permission so it can be given to specific users without the need for them to be super admins.
  • Added a label on the calendar (top left corner) to show which tool/area/selection the user is looking at. #204
  • Added option to only show tool documents to qualified users (thanks Polytechnique Montreal for the contribution!).
  • Added option to allow everyone to email users with an upcoming reservation (thanks Stanford SNF for the contribution!).
  • 0 min training records are now allowed.
  • Sensor chart time x-axis formats can now be customized in Customization -> Sensor data.
  • Added support for read_coils in sensors' formula (thanks UPenn Singh Center for the contribution!).
  • Adjustment notifications are now automatically deleted if an adjustment is deleted.
  • Added date filtering by creation time for alerts in detailed admin.
  • Added training customizations to limit training to just one type, and to allow trainers to set the training date.
  • Projects not allowing consumable withdrawals will not be shown in the checkout page anymore.
  • Self checkout of consumables can now be limited to only certain users (thanks Stanford SNF for the contribution!).
  • Badge number will not be shown anymore when badging in and out of area and kiosk. Previous behavior can be restored in Customization -> Application
  • Added an option to offer the user to logout of the area they are logged in when disengaging a tool (thanks UPenn Singh Center for the contribution!).
  • Projects have a new option to not allow staff charges.
  • Optimized performance and load time on all pages by refactoring the queries for notifications and customizations.
  • Tests will now be published to PyPi as part of the NEMO package. This will allow other plugin developers to easily run NEMO's tests.
  • Now limiting the number of workers for gunicorn to a maximum of 9 to avoid issues with resources, database connections and overall performance.

API

  • Fixed error with Configuration & Resource API endpoints when it would break if filtering due to many to many relationship not being supported in filters
  • Tool status endpoint now requires the can view tool permission
  • Updated extra fields in API (mostly related fields like users in projects, permissions etc) to not be required and allow null

Bug fixes

  • Fixed a bug when reloading the qualified user list in tool control on mobile devices
  • Fixed issues with some models when users are given read only permissions in detailed admin
  • Fixed a major bug removing the user office role when updating their profile information in Administration -> Users
  • Fixed a Kiosk issue with links in tooltip that would display NEMO's main page within the kiosk page (thanks @r-xyz for the contribution!). #202
  • Fixed unique constraint on interlock Card/Channel preventing users from creating interlocks for different unit_id/bank.
  • Fixed potential CSRF vulnerability when deleting a buddy request.
  • Fixed multi email field issue when using the API and failing validation with empty string as value.
  • Fixed inactive users not being able to be used in the usage data history filter.

Libraries

  • cryptography 41.0.7 -> 42.0.5
  • Django 3.2.23 -> 3.2.25
  • python-dateutil 2.8.2 -> 2.9.0
  • pytz 2023.3 -> 2024.1