diff --git a/app/i18n/strings_en.json b/app/i18n/strings_en.json index 041884c08..3b89d6a84 100644 --- a/app/i18n/strings_en.json +++ b/app/i18n/strings_en.json @@ -9,8 +9,16 @@ "SLEEP_MODE_SYSTEM_WILL": "The system will ", "SLEEP_MODE_TITLE": "Sleep Mode", "STOP_MUSIC": "Stop Music", - "TIME_SELECT_ERROR": "Please select an alarm start time", - "TURN_OFF": "Turn off" + "TURN_OFF": "Turn off", + "TIME_SELECT_ERROR":"Please select an alarm start time", + "DAY_SELECT_ERROR":"Please select at least one day of week", + "MONDAY":"Monday", + "TUESDAY":"Tuesday", + "WEDNESDAY":"Wednesday", + "THURSDAY":"Thursday", + "FRIDAY":"Friday", + "SATURDAY":"Saturday", + "SUNDAY":"Sunday" }, "APPEARANCE": { "ALBUMARTIST": "Albumartist", diff --git a/app/i18n/strings_fr.json b/app/i18n/strings_fr.json index 0c8309f3b..55360c329 100644 --- a/app/i18n/strings_fr.json +++ b/app/i18n/strings_fr.json @@ -10,7 +10,15 @@ "SLEEP_MODE_TITLE": "Mode sommeil", "STOP_MUSIC": "Arrêter la musique dans", "TIME_SELECT_ERROR": "Sélectionner l'heure de l'alarme", - "TURN_OFF": "Éteindre dans" + "TURN_OFF": "Éteindre dans", + "DAY_SELECT_ERROR":"Sélectionner au moins un jour de la semaine", + "MONDAY":"Lundi", + "TUESDAY":"Mardi", + "WEDNESDAY":"Mercredi", + "THURSDAY":"Jeudi", + "FRIDAY":"Vendredi", + "SATURDAY":"Samedi", + "SUNDAY":"Dimanche" }, "APPEARANCE": { "ALBUMARTIST": "Albumartist", diff --git a/app/plugins/miscellanea/alarm-clock/UIConfig.json b/app/plugins/miscellanea/alarm-clock/UIConfig.json index 467e98987..aa8c7d5b5 100755 --- a/app/plugins/miscellanea/alarm-clock/UIConfig.json +++ b/app/plugins/miscellanea/alarm-clock/UIConfig.json @@ -14,7 +14,14 @@ "data": [ "enabled", "hour", - "minute" + "minute", + "monday", + "tuesday", + "wednesday", + "thursday", + "friday", + "saturday", + "sunday" ] }, "content": [ @@ -391,7 +398,76 @@ "field": "enabled", "value": true } - + }, + { + "id": "monday", + "element": "switch", + "label": "TRANSLATE.ALARM.MONDAY", + "value": true, + "visibleIf": { + "field": "enabled", + "value": true + } + }, + { + "id": "tuesday", + "element": "switch", + "label": "TRANSLATE.ALARM.TUESDAY", + "value": true, + "visibleIf": { + "field": "enabled", + "value": true + } + }, + { + "id": "wednesday", + "element": "switch", + "label": "TRANSLATE.ALARM.WEDNESDAY", + "value": true, + "visibleIf": { + "field": "enabled", + "value": true + } + }, + { + "id": "thursday", + "element": "switch", + "label": "TRANSLATE.ALARM.THURSDAY", + "value": true, + "visibleIf": { + "field": "enabled", + "value": true + } + }, + { + "id": "friday", + "element": "switch", + "label": "TRANSLATE.ALARM.FRIDAY", + "value": true, + "visibleIf": { + "field": "enabled", + "value": true + } + }, + { + "id": "saturday", + "element": "switch", + "label": "TRANSLATE.ALARM.SATURDAY", + "value": true, + "visibleIf": { + "field": "enabled", + "value": true + } + }, + { + "id": "sunday", + "element": "switch", + "label": "TRANSLATE.ALARM.SUNDAY", + "value": true, + "visibleIf": { + "field": "enabled", + "value": true + } } ] } diff --git a/app/plugins/miscellanea/alarm-clock/config.json b/app/plugins/miscellanea/alarm-clock/config.json index 132a63122..ccfeca375 100755 --- a/app/plugins/miscellanea/alarm-clock/config.json +++ b/app/plugins/miscellanea/alarm-clock/config.json @@ -2,6 +2,13 @@ "enabled":{"value":true,"type":"boolean"}, "hour":{"value":"8","type":"number"}, "minute":{"value":"0","type":"number"}, + "monday":{"value":true,"type":"boolean"}, + "tuesday":{"value":true,"type":"boolean"}, + "wednesday":{"value":true,"type":"boolean"}, + "thursday":{"value":true,"type":"boolean"}, + "friday":{"value":true,"type":"boolean"}, + "saturday":{"value":true,"type":"boolean"}, + "sunday":{"value":true,"type":"boolean"}, "sleep_enabled":{"type":"boolean","value":false}, "sleep_hour":{"value":"0","type":"number"}, "sleep_minute":{"value":"0","type":"number"}, diff --git a/app/plugins/miscellanea/alarm-clock/index.js b/app/plugins/miscellanea/alarm-clock/index.js index 4e30b5f29..e6b154b05 100755 --- a/app/plugins/miscellanea/alarm-clock/index.js +++ b/app/plugins/miscellanea/alarm-clock/index.js @@ -75,6 +75,27 @@ AlarmClock.prototype.getUIConfig = function () { // minute uiconf.sections[0].content[2].value.value = config.get('minute'); + //monday + uiconf.sections[0].content[3].value.value=config.get('monday'); + + //tuesday + uiconf.sections[0].content[4].value.value=config.get('tuesday'); + + //wednesday + uiconf.sections[0].content[5].value.value=config.get('wednesday'); + + //thursday + uiconf.sections[0].content[6].value.value=config.get('thursday'); + + //friday + uiconf.sections[0].content[7].value.value=config.get('friday'); + + //saturday + uiconf.sections[0].content[8].value.value=config.get('saturday'); + + //sunday + uiconf.sections[0].content[9].value.value=config.get('sunday'); + return uiconf; }; @@ -121,6 +142,28 @@ AlarmClock.prototype.applyConf = function (conf) { var schedule = require('node-schedule'); var rule = new schedule.RecurrenceRule(); + rule.dayOfWeek = []; + if (item.monday) { + rule.dayOfWeek.push(1); + } + if (item.tuesday) { + rule.dayOfWeek.push(2); + } + if (item.wednesday) { + rule.dayOfWeek.push(3); + } + if (item.thursday) { + rule.dayOfWeek.push(4); + } + if (item.friday) { + rule.dayOfWeek.push(5); + } + if (item.saturday) { + rule.dayOfWeek.push(6); + } + if (item.sunday) { + rule.dayOfWeek.push(7); + } rule.minute = d.getMinutes(); rule.hour = d.getHours(); let currentItem = Object.assign({}, item); @@ -196,6 +239,9 @@ AlarmClock.prototype.saveAlarm = function (data) { } else if (!data[i].playlist) { var error = true; self.commandRouter.pushToastMessage('error', self.commandRouter.getI18nString('ALARM.ALARM_CLOCK_TITLE'), self.commandRouter.getI18nString('ALARM.PLAYLIST_SELECT_ERROR')); + } else if (!data[i].monday && !data[i].tuesday && !data[i].wednesday && !data[i].thursday && !data[i].friday && !data[i].saturday && !data[i].sunday) { + var error = true; + self.commandRouter.pushToastMessage('error', self.commandRouter.getI18nString('ALARM.ALARM_CLOCK_TITLE'), self.commandRouter.getI18nString('ALARM.DAY_SELECT_ERROR')); } }