Merge pull request #412 from allerta-vvf/master

Update jobs and add footer
This commit is contained in:
Matteo Gheza 2022-01-03 20:26:07 +01:00 committed by GitHub
commit f7d6ac0a73
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 82 additions and 10 deletions

View File

@ -114,6 +114,11 @@ function job_schedule_availability() {
$schedule["minutes"] <= $now["minutes"] &&
$now["minutes"] - $schedule["minutes"] <= 30
){
$availability_last_change = $db->select("SELECT availability_last_change FROM `".DB_PREFIX."_profiles` WHERE `id` = ?", [$user_id]);
if($availability_last_change === "manual" && $last_exec["day"] === $now["day"]){
break;
}
if(!in_array($user_id,$schedules_users)) $schedules_users[] = $user_id;
if(is_null($last_exec) || (is_array($last_exec) && $schedule["hour"] == $last_exec["hour"] ? $schedule["minutes"] !== $last_exec["minutes"] : true)/* && !in_array(date('Y-m-d'), $selected_holidays_dates)*/){
$last_exec_new = $schedule["day"].";".sprintf("%02d", $schedule["hour"]).":".sprintf("%02d", $schedule["minutes"]);

2
frontend/.gitignore vendored
View File

@ -44,3 +44,5 @@ testem.log
# System Files
.DS_Store
Thumbs.db
src/environments/versions.ts

28
frontend/git.version.js Normal file
View File

@ -0,0 +1,28 @@
//based on https://stackoverflow.com/a/42199863
const { writeFileSync } = require('fs');
const { promisify } = require('util');
const { exec } = require('child_process');
const exec_promise = promisify(exec);
async function createVersionsFile(filename) {
const revision = (await exec_promise('git rev-parse --short HEAD')).stdout.toString().trim();
const revision_timestamp = parseInt((await exec_promise('git log -1 --format="%at"')).stdout.toString().trim())*1000;
const branch = (await exec_promise('git rev-parse --abbrev-ref HEAD')).stdout.toString().trim();
const remote_url = (await exec_promise('git config --get remote.origin.url')).stdout.toString().trim();
console.log(`revision: '${revision}', revision_timestamp: '${revision_timestamp}', branch: '${branch}', remote_url: '${remote_url}'`);
const content =
`// this file is automatically generated by git.version.js script
export const versions = {
revision: '${revision}',
revision_timestamp: ${revision_timestamp},
branch: '${branch}',
remote_url: '${remote_url}'
};`;
writeFileSync(filename, content, {encoding: 'utf8'});
}
createVersionsFile('src/environments/versions.ts');

View File

@ -33,7 +33,7 @@
"@angular/compiler-cli": "~13.0.0",
"@types/jasmine": "~3.10.0",
"@types/node": "16.11.17",
"jasmine-core": "~3.10.0",
"jasmine-core": "4.0.0",
"karma": "~6.3.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.0.3",
@ -6792,9 +6792,9 @@
}
},
"node_modules/jasmine-core": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.10.1.tgz",
"integrity": "sha512-ooZWSDVAdh79Rrj4/nnfklL3NQVra0BcuhcuWoAwwi+znLDoUeH87AFfeX8s+YeYi6xlv5nveRyaA1v7CintfA==",
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.0.0.tgz",
"integrity": "sha512-tq24OCqHElgU9KDpb/8O21r1IfotgjIzalfW9eCmRR40LZpvwXT68iariIyayMwi0m98RDt16aljdbwK0sBMmQ==",
"dev": true
},
"node_modules/jest-worker": {
@ -7038,6 +7038,12 @@
"karma-jasmine": ">=1.1"
}
},
"node_modules/karma-jasmine/node_modules/jasmine-core": {
"version": "3.99.0",
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.99.0.tgz",
"integrity": "sha512-+ZDaJlEfRopINQqgE+hvzRyDIQDeKfqqTvF8RzXsvU1yE3pBDRud2+Qfh9WvGgRpuzqxyQJVI6Amy5XQ11r/3w==",
"dev": true
},
"node_modules/karma-source-map-support": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz",
@ -17570,9 +17576,9 @@
}
},
"jasmine-core": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.10.1.tgz",
"integrity": "sha512-ooZWSDVAdh79Rrj4/nnfklL3NQVra0BcuhcuWoAwwi+znLDoUeH87AFfeX8s+YeYi6xlv5nveRyaA1v7CintfA==",
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.0.0.tgz",
"integrity": "sha512-tq24OCqHElgU9KDpb/8O21r1IfotgjIzalfW9eCmRR40LZpvwXT68iariIyayMwi0m98RDt16aljdbwK0sBMmQ==",
"dev": true
},
"jest-worker": {
@ -17794,6 +17800,14 @@
"dev": true,
"requires": {
"jasmine-core": "^3.6.0"
},
"dependencies": {
"jasmine-core": {
"version": "3.99.0",
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.99.0.tgz",
"integrity": "sha512-+ZDaJlEfRopINQqgE+hvzRyDIQDeKfqqTvF8RzXsvU1yE3pBDRud2+Qfh9WvGgRpuzqxyQJVI6Amy5XQ11r/3w==",
"dev": true
}
}
},
"karma-jasmine-html-reporter": {

View File

@ -2,6 +2,8 @@
"name": "allerta-vvf",
"version": "0.0.0",
"scripts": {
"prestart": "node git.version.js",
"prebuild": "node git.version.js",
"ng": "ng",
"start": "ng serve",
"build": "ng build --base-href=./",
@ -35,7 +37,7 @@
"@angular/compiler-cli": "~13.0.0",
"@types/jasmine": "~3.10.0",
"@types/node": "16.11.17",
"jasmine-core": "~3.10.0",
"jasmine-core": "4.0.0",
"karma": "~6.3.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.0.3",

View File

@ -7,4 +7,9 @@
<a class="icon" id="menuButton" (click)="menuButtonClicked = !menuButtonClicked"></a>
</div>
<router-outlet></router-outlet>
<router-outlet></router-outlet>
<div id="footer" class="footer text-center p-3">
Allerta-VVF, software libero realizzato per i Vigili del Fuoco volontari.<br>
<p>Revisione {{ versions.revision }} ({{ revision_datetime_string }})</p>
</div>

View File

@ -63,3 +63,14 @@
text-align: left;
}
}
.footer {
background-color: rgba(0, 0, 0, 0.2);
font-style: italic;
margin-top: 2em;
margin-bottom: 0;
}
.footer > :last-child {
margin-bottom: 0;
}

View File

@ -1,5 +1,6 @@
import { Component } from '@angular/core';
import { AuthService } from './_services/auth.service';
import { versions } from 'src/environments/versions';
@Component({
selector: 'app-root',
@ -8,6 +9,10 @@ import { AuthService } from './_services/auth.service';
})
export class AppComponent {
public menuButtonClicked = false;
public revision_datetime_string;
public versions = versions;
constructor(public auth: AuthService) {}
constructor(public auth: AuthService) {
this.revision_datetime_string = new Date(versions.revision_timestamp).toLocaleString(undefined, { day: '2-digit', month: '2-digit', year: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric' });
}
}