Prise en compte du capital négatif corrigée

This commit is contained in:
Teddy Cornaut 2022-03-28 13:47:29 +02:00
parent a9fcac9551
commit b4c1ed8980
1 changed files with 30 additions and 18 deletions

View File

@ -16,8 +16,6 @@ const Me = imports.misc.extensionUtils.getCurrentExtension();
const version = Gtk.get_major_version(); const version = Gtk.get_major_version();
log(`GTK version is ${version}`);
let myPopup; let myPopup;
let started = false; let started = false;
let key = get_config('key'); let key = get_config('key');
@ -97,10 +95,17 @@ class MyPopup extends PanelMenu.Button {
let workedHours = Math.floor(workedToday / 60); let workedHours = Math.floor(workedToday / 60);
let workedMinutes = workedToday % 60; let workedMinutes = workedToday % 60;
let capitalToMinutes = result.capitaltime.replace('+', '').split(':'); let positiveCapital = result.capitaltime.includes('+');
let capitalToMinutes = result.capitaltime.replace('-', '').replace('+', '').split(':');
capitalToMinutes = parseInt(capitalToMinutes[0]) * 60 + parseInt(capitalToMinutes[1]); capitalToMinutes = parseInt(capitalToMinutes[0]) * 60 + parseInt(capitalToMinutes[1]);
let workedTodayPlusCapital = workedToday + capitalToMinutes if(positiveCapital) {
var workedTodayPlusCapital = workedToday + capitalToMinutes
} else {
var workedTodayPlusCapital = workedToday - capitalToMinutes
}
let diff = 7*60 - workedTodayPlusCapital let diff = 7*60 - workedTodayPlusCapital
let diffHours = Math.floor(diff / 60); let diffHours = Math.floor(diff / 60);
let diffMinutes = diff % 60; let diffMinutes = diff % 60;
@ -121,6 +126,7 @@ class MyPopup extends PanelMenu.Button {
startItem.connect('activate', () => { startItem.connect('activate', () => {
try {
if(started){ if(started){
send_request('https://badge.cadoles.com/ninebadge/rest/clockout', 'POST', key) send_request('https://badge.cadoles.com/ninebadge/rest/clockout', 'POST', key)
started = false started = false
@ -130,7 +136,9 @@ class MyPopup extends PanelMenu.Button {
label.set_text('FIN POINTAGE'); label.set_text('FIN POINTAGE');
started = true started = true
} }
log(started); } catch(error) {
log(error);
}
}); });
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
@ -144,10 +152,14 @@ class MyPopup extends PanelMenu.Button {
this.menu.addMenuItem(validateItem); this.menu.addMenuItem(validateItem);
validateItem.connect('activate', () => { validateItem.connect('activate', () => {
try {
send_request('https://badge.cadoles.com/ninebadge/rest/clockout', 'POST', key) send_request('https://badge.cadoles.com/ninebadge/rest/clockout', 'POST', key)
started = false started = false
label.set_text('DÉBUT POINTAGE'); label.set_text('DÉBUT POINTAGE');
send_request('https://badge.cadoles.com/ninebadge/rest/validate', 'POST', key) send_request('https://badge.cadoles.com/ninebadge/rest/validate', 'POST', key)
} catch(error) {
log(error);
}
}); });
// you can close, open and toggle the menu with // you can close, open and toggle the menu with
@ -158,7 +170,7 @@ class MyPopup extends PanelMenu.Button {
}); });
function send_request(url, type='POST', key) { function send_request(url, type='POST', key) {
let [ok, out, err, exit] = GLib.spawn_command_line_sync(`/usr/bin/curl --insecure -X ${type} -d '{"key": "${key}"}' -H "Content-Type: application/json" ${url} -o /tmp/test.json`); let [ok, out, err, exit] = GLib.spawn_command_line_sync(`/usr/bin/curl --insecure --max-time 2 -X ${type} -d '{"key": "${key}"}' -H "Content-Type: application/json" ${url} -o /tmp/test.json`);
let text = GLib.file_get_contents('/tmp/test.json')[1]; let text = GLib.file_get_contents('/tmp/test.json')[1];
let json_result = JSON.parse(text); let json_result = JSON.parse(text);