Skip to content

Commit

Permalink
Merge pull request #109 from openmsupply/107-Schedular-Frequently-sen…
Browse files Browse the repository at this point in the history
…ding-emails

107 schedular frequently sending emails for Haiti
  • Loading branch information
sworup authored Jan 25, 2023
2 parents 5989ddb + 4969371 commit 57594b7
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 6 deletions.
1 change: 1 addition & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
nodejs 16.14.2
5 changes: 5 additions & 0 deletions config/grafana.ini
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,8 @@ app_mode = development
[dashboards.json]
enabled = true
path = /var/lib/grafana/dashboards

[auth.generic_oauth]
auth_url = http://localhost:8080/api/v4/oauth/
token_url = http://localhost:8080/api/v4/oauth_access_token/
api_url = http://localhost:8080/api/v4/oauth_userinfo/
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "msupply-foundation-excel-report-email-scheduler",
"version": "2.1.2-haiti-01",
"version": "2.1.2-haiti-02",
"description": "Grafana plugin for mSupply Dashboard application. The plugin takes data from panels of mSupply dashboard to generate excel reports. The reports are then emailed to a custom user group created with mSupply users pulled from mSupply Dashboard's datasource. The timing of the scheduler can be set in the plugin.",
"scripts": {
"build": "rm -rf dist && yarn build:frontend && mage -v && yarn sign",
Expand All @@ -10,7 +10,7 @@
"typecheck": "tsc --noEmit",
"lint": "eslint --cache --ignore-path ./.gitignore --ext .js,.jsx,.ts,.tsx .",
"lint:fix": "yarn lint --fix",
"sign": "rm -rf ./dist/.DS_Store & grafana-toolkit plugin:sign --signatureType private --rootUrls https://demo-board.msupply.org:3000,https://png.msupply.org:3000,https://ci.msupply.org:3000,https://liberia.msupply.org:3000,https://tonga-vax.msupply.org:3000,https://timor.msupply.org:3000,http://localhost:3000,https://vanuatu-vax.msupply.org:3000,https://tokelau.msupply.org:3000,https://tonga.msupply.org:3000,https://who-demo.msupply.org:3000,https://msupply.health.gov.ws:3000,https://fijimoh.msupply.org:3000",
"sign": "rm -rf ./dist/.DS_Store & grafana-toolkit plugin:sign --signatureType private --rootUrls http://localhost:3000,http://172.16.5.157:3000",
"start": "yarn dev:frontend"
},
"author": "mSupply Foundation",
Expand Down
18 changes: 14 additions & 4 deletions pkg/datasource/schedule_with_details.go
Original file line number Diff line number Diff line change
Expand Up @@ -138,11 +138,21 @@ func (schedule *Schedule) UpdateNextReportTime() {
reportTime = reportTime.AddDate(0, 1, daysOffset)
}
case 2: // fortnightly
daysToAdd := (scheduleDays - int(reportTime.Day()) + 14) % 14
reportTime = reportTime.AddDate(0, 0, daysToAdd)
if scheduleDays == int(reportTime.Weekday()) {
reportTime = reportTime.AddDate(0, 0, 14)
} else {
daysToAdd := (scheduleDays - int(reportTime.Day()) + 14) % 14
reportTime = reportTime.AddDate(0, 0, daysToAdd)
}

case 1: // weekly
daysToAdd := (scheduleDays - int(reportTime.Weekday()) + 7) % 7
reportTime = reportTime.AddDate(0, 0, daysToAdd)
if scheduleDays == int(reportTime.Weekday()) {
reportTime = reportTime.AddDate(0, 0, 7)
} else {
daysToAdd := (scheduleDays - int(reportTime.Weekday()) + 7) % 7
reportTime = reportTime.AddDate(0, 0, daysToAdd)
}

default: // 0 == daily
if reportTime.Unix() < now.Unix() {
// run tomorrow
Expand Down

0 comments on commit 57594b7

Please # to comment.