From 859b9cabe33fdf9b30eb1cc81531a1b321650e30 Mon Sep 17 00:00:00 2001 From: sanjayk03-dev Date: Tue, 27 Aug 2024 17:23:13 +0530 Subject: [PATCH] subprocess to update date/time --- src/js/admin-general-view.js | 9 +++------ src/pug/templates/admin-general-view.pug | 2 +- src/py/bbctrl/Web.py | 14 +++++++++----- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/js/admin-general-view.js b/src/js/admin-general-view.js index e9e7208..d0b31fe 100644 --- a/src/js/admin-general-view.js +++ b/src/js/admin-general-view.js @@ -151,13 +151,10 @@ module.exports = { if (!this.selected_date || !this.selected_time) { return; } - console.log(this.selected_date, this.selected_time); - + try { - const datetime = `${this.selected_date} ${this.selected_time}`; - const timezone = "UTC"; - - const response = await api.put("time", { datetime, timezone }); + const datetime = `${this.selected_date} ${this.selected_time}:00`; + const response = await api.put("time", { datetime }); if (response == "ok") { alert("Date/Time updated successfully."); diff --git a/src/pug/templates/admin-general-view.pug b/src/pug/templates/admin-general-view.pug index 82bc4c1..8da1d6b 100644 --- a/src/pug/templates/admin-general-view.pug +++ b/src/pug/templates/admin-general-view.pug @@ -68,4 +68,4 @@ script#admin-general-view-template(type="text/x-template") .pure-form input(id="date" type="date" v-model="selected_date") input.flatpickr(id="time" type="time" v-model="selected_time") - button.pure-button.pure-button-primary(@click="change_date_time", style="margin-top:5px") Update Date/Time + button.pure-button.pure-button-primary(@click="change_date_time", style="margin:5px") Update Date/Time diff --git a/src/py/bbctrl/Web.py b/src/py/bbctrl/Web.py index 20d8f7d..bbdfcab 100644 --- a/src/py/bbctrl/Web.py +++ b/src/py/bbctrl/Web.py @@ -581,13 +581,17 @@ class TimeHandler(bbctrl.APIHandler): def put_ok(self): datetime = self.json['datetime'] - timezone = self.json['timezone'] + try: - subprocess.Popen(['timedatectl', 'set-time', datetime]) - subprocess.Popen(['timedatectl', 'set-timezone', timezone]) - self.get_log('TimeHandler').info('Time changed: datetime: {}'.format(datetime)) + result = subprocess.Popen(['sudo','date', '-s', datetime], stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True) + stdout, stderr = result.communicate() + + if(result.returncode == 0): + self.get_log('TimeHandler').info('Result {} = {}'.format(result.returncode, stdout)) + else: + raise Exception(stderr) except Exception as e: - self.get_log('TimeHandler').info('Error updating time or timezone: {}'.format(e)) + self.get_log('TimeHandler').info('Error: {}'.format(e)) class RemoteDiagnosticsHandler(bbctrl.APIHandler):