Merge branch 'hasanbasri1993-master' into master

pull/181/head
alse 2021-10-17 17:56:50 -07:00
commit 6cf4ce4eb8
5 changed files with 15 additions and 5 deletions

View File

@ -1,5 +1,5 @@
# docker run -d -p 8000:8000 alseambusher/crontab-ui
FROM alpine:3.10
FROM alpine:3.13.5
ENV CRON_PATH /etc/crontabs

View File

@ -1,4 +1,4 @@
VER=0.3.13
VER=0.3.15
release:
sed -i '' "s/version\": \".*/version\": \"$(VER)\",/" package.json

View File

@ -11,7 +11,6 @@ exports.crontab_db_file = path.join(exports.db_folder, 'crontab.db');
var db = new Datastore({ filename: exports.crontab_db_file});
var cronPath = "/tmp";
if(process.env.CRON_PATH !== undefined) {
console.log(`Path to crond files set using env variables ${process.env.CRON_PATH}`);
cronPath = process.env.CRON_PATH;
@ -24,6 +23,8 @@ db.loadDatabase(function (err) {
var exec = require('child_process').exec;
var fs = require('fs');
var cron_parser = require("cron-parser");
var cronstrue = require('cronstrue/i18n');
var humanCronLocate = process.env.HUMANCRON ?? "en"
crontab = function(name, command, schedule, stopped, logging, mailing){
@ -71,6 +72,7 @@ exports.crontabs = function(callback){
docs[i].next = "Next Reboot";
else
try {
docs[i].human = cronstrue.toString(docs[i].schedule, { locale: humanCronLocate });
docs[i].next = cron_parser.parseExpression(docs[i].schedule).next().toString();
} catch(err) {
console.error(err);

View File

@ -1,6 +1,6 @@
{
"name": "crontab-ui",
"version": "0.3.14",
"version": "0.3.15",
"description": "Easy and safe way to manage your crontab file",
"main": "index.js",
"scripts": {
@ -11,6 +11,7 @@
"body-parser": "latest",
"connect-busboy": "latest",
"cron-parser": "latest",
"cronstrue": "latest",
"ejs": "latest",
"express": "latest",
"express-basic-auth": "^1.2.0",

View File

@ -82,7 +82,14 @@
<% } %>
</td>
<td><%= crontab.command %></td>
<td><span style="cursor:pointer" data-toggle="tooltip" data-placement="bottom" title="<%= crontab.next %>"><%= crontab.schedule %></span></td>
<td>
<span style="cursor:pointer" data-toggle="tooltip" data-placement="bottom" title="<%= crontab.next %>">
<%= crontab.schedule %>
</span>
<a class="btn" data-toggle="tooltip" data-placement="right" title="<%= crontab.human %>">
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
</a>
</td>
<td style="width:20%" title="<%= crontab.timestamp %>"><%= moment(new Date(crontab.timestamp)).fromNow() %></td>
<td>