Fix URL stuff

This commit is contained in:
Benjamin Drieu 2022-05-20 16:32:36 +02:00 committed by Benjamin Drieu
parent acc8512800
commit 66f1deed14
5 changed files with 28 additions and 21 deletions

View File

@ -39,7 +39,7 @@ const PopupMenu = imports.ui.popupMenu;
const Gettext = imports.gettext.domain(GETTEXT_DOMAIN); const Gettext = imports.gettext.domain(GETTEXT_DOMAIN);
const _ = Gettext.gettext; const _ = Gettext.gettext;
const { GObject, St, Clutter, Gio, GLib } = imports.gi; const { GObject, St, Clutter, Gio, GLib, Pango } = imports.gi;
const SETTINGS_SCHEMA = "org.gnome.shell.extensions.monito"; const SETTINGS_SCHEMA = "org.gnome.shell.extensions.monito";
const SETTINGS_SCHEMA_ACCOUNT = "org.gnome.shell.extensions.monito.account"; const SETTINGS_SCHEMA_ACCOUNT = "org.gnome.shell.extensions.monito.account";
@ -341,7 +341,7 @@ class Indicator extends PanelMenu.Button {
style: ( col.style ? col.style : '' ) } ); style: ( col.style ? col.style : '' ) } );
_child.original_text = text.toString(); _child.original_text = text.toString();
_child.connect('button-press-event', Lang.bind(this, this._onExpandLabel ) ); _child.connect('button-press-event', Lang.bind(this, this._onExpandLabel ) );
_child.connect('notify::hover', Lang.bind(this, this._onEnterEvent ) ); // _child.connect('notify::hover', Lang.bind(this, this._onEnterEvent ) );
} }
else if ( col.special == 'actions' ) else if ( col.special == 'actions' )
{ {
@ -594,10 +594,10 @@ class Indicator extends PanelMenu.Button {
} }
_onEnterEvent ( e ) // _onEnterEvent ( e )
{ // {
log ( "Monito: enter"); // log ( "Monito: enter");
} // }
_onOpenInBrowser ( e ) _onOpenInBrowser ( e )
{ {
@ -616,24 +616,20 @@ class Indicator extends PanelMenu.Button {
proc.wait_async(cancellable, (proc, result) => { proc.wait_async(cancellable, (proc, result) => {
try { try {
proc.wait_finish(result); proc.wait_finish(result);
if ( ! proc.get_successful()) {
if (proc.get_successful()) {
log ( 'Monito: the process succeeded');
} else {
log ( 'Monito: the process failed' ); log ( 'Monito: the process failed' );
} }
this.stopChildSpin ( e.service.button );
} catch (e) { } catch (e) {
logError(e); logError(e);
} finally { } finally {
loop.quit(); loop.quit();
} }
}); });
log ( 'Monito: ' + proc );
} catch ( e ) { } catch ( e ) {
log ( 'Monito: ' + e ); log ( 'Monito err: ' + e.message );
Main.notifyError ( _('Unable to execute command: %s').format ( e.message ) );
} }
this.stopChildSpin ( e.service.button );
} }
_createButton ( sizeName, icon, data, callback ) { _createButton ( sizeName, icon, data, callback ) {

View File

@ -106,4 +106,11 @@ class Icinga extends GenericServer {
} }
} }
getUrlForService ( service )
{
return '%s/?type=2&host=%s&service=%s'.format ( this._settings.get_string ( 'urlcgi' ).replace ( /status.cgi/, 'extinfo.cgi' ),
encodeURI ( service.real_host_name ),
encodeURI ( service.service_display_name ) );
}
} }

View File

@ -82,7 +82,11 @@ class Icinga2 extends GenericServer {
getUrlForService ( service ) getUrlForService ( service )
{ {
return this._settings.get_string ( 'url' ) ; // + monitoring/service/show?host=XXX&service=XXX log ( service );
} return '%s/monitoring/service/show?host=%s&service=%s'.format ( this._settings.get_string ( 'url' ),
service.host_name,
service.service_display_name );
}
} }

View File

@ -102,6 +102,7 @@ class Icinga2API extends GenericServer {
// log ( JSON.stringify(entry) ); // log ( JSON.stringify(entry) );
this.status.service_status.push ( { this.status.service_status.push ( {
status: _statuses[entry.attrs.state], status: _statuses[entry.attrs.state],
real_host_name: entry.attrs.host_name,
host_name: entry.attrs.host_name, host_name: entry.attrs.host_name,
service_display_name: entry.attrs.display_name, service_display_name: entry.attrs.display_name,
has_been_acknowledged: parseInt(entry.attrs.acknowledgement), has_been_acknowledged: parseInt(entry.attrs.acknowledgement),
@ -124,8 +125,9 @@ class Icinga2API extends GenericServer {
getUrlForService ( service ) getUrlForService ( service )
{ {
return this._settings.get_string ( 'url' ) ; return '%s/monitoring/service/show?host=%s&service=%s'.format ( this._settings.get_string ( 'url' ),
} encodeURI ( service.real_host_name ),
encodeURI ( service.service_display_name ) );
}
} }

View File

@ -109,5 +109,3 @@
.small-button { .small-button {
padding: 3px !important; padding: 3px !important;
} }