Multiple updates and additions

- Added a permission to show or hide update version information on that dashboard as a card that will only show when new update info is available and not yet dismissed.
- Updated Lists so list items added will have their fist letter auto-capitalized
- Updated Lists so list items are searched against the products before being added to the list, so we have store info more commonly in lists
- Updated Products so new products will have their first letter capitalized automatically
- Updated the dashboard to show the Update Available card if this is enbaled in permissions.
    - The dashboard card only shows for System Admin roles.
    - The dashboard card is enabled by default
    - The dashboard card is pulled from the GitLab releases RSS feed.
    - The RSS Feed is only checked every 30 minutes using node-cron
- Updated System Configuration to have a toggle for the update available card
- Added a bell icon to the top and slide out navigation, shown when a new update is available, if update available is enabled in system configuration.
This commit is contained in:
Brian McGonagill 2024-08-21 07:01:36 -05:00
parent f02ea7d549
commit c70f9bd74e
14 changed files with 410 additions and 29 deletions

View file

@ -16,6 +16,9 @@
<li><a href="#" id="manage" class="navBtn {{#if $eq myTheme 'dark'}}white-text{{/if}}">Manage</a></li>
{{/if}}
<li class="signOut {{#if $eq myTheme 'dark'}}white-text{{/if}}"><a href="#" class="signOut">Log Out</a></li>
{{#if $eq updateExists true}}
<li><a href="#!"><i class="material-icons white-text navBtn" id='dashboard'>notifications</i></a></li>
{{/if}}
{{else}}
<li><a href="#!" id="login" class="navBtn {{#if $eq myTheme 'dark'}}white-text{{/if}}">Login</a></li>
{{/if}}
@ -30,6 +33,7 @@
<li><a href="#!" class="navBtn" id="mySettings {{#if $eq myTheme 'dark'}}white-text{{/if}}">My Settings</a></li>
{{#if isInRole 'systemadmin'}}
<li><a href="#!" id="manage" class="navBtn {{#if $eq myTheme 'dark'}}white-text{{/if}}">Manage</a></li>
<li><a href="#!"><i class="material-icons">notifications</i></a></li>
{{/if}}
<li><a href="#!" class="signOut {{#if $eq myTheme 'dark'}}white-text{{/if}}">Sign Out</a></li>
{{else}}

View file

@ -1,7 +1,8 @@
import { M } from '../lib/assets/materialize';
import { UpdateInfo } from '../../imports/api/updateInfo.js';
Template.headerBar.onCreated(function() {
this.subscribe("UpdateVersion");
});
Template.headerBar.onRendered(function() {
@ -17,7 +18,15 @@ Template.headerBar.helpers({
},
myTheme: function() {
return Session.get("myTheme");
}
},
updateExists: function() {
let update = UpdateInfo.find({ viewed: false }).fetch();
if (update.length > 0) {
return true;
} else {
return false;
}
},
});
Template.headerBar.events({