Modifikace přihlášení do Group Office
Modifikace jednotlivých částí systému bez nutnosti zásahu do zdrojových kódů Group Office
nemusí být žádným problémem. Pomocí modulu Vlastní CSS styly a javascripty snadno a jednoduše upravíte výchozí stav groupwaru k obrazu svému.
Jeden z členů komunitního fóra v Group Office
poptával úpravu přihlašovacího formuláře, kde nechtěl zobrazovat možnost "Zapamatovat přihlašení pro tento počítač". Pro tyto jednoduché modifikace se hodí modul Vlastní CSS styly a javaskripty , který je součástí open-source verze Group Office
.
Vzhledem ke struktuře dialogového okna, na kterém je vykreslen formulář pro přihášení do Group Office
, není možné využít vlastních CSS. Styly se hodí většinou pro nahrazení výchozího loga vlastním či výměnu ikon v notifikační části systému.
Pro tuto modifkaci je tedy nutné sáhnout na konfuguraci třídy GO.dialog.LoginDialog
, která obsahuje veškerou konfiguraci formuláře dialogu. Pro naše účely se hodí funkce Ext.override
, která modifikuje stávající třídu bez nutnosti vytvářet novou. Pokud nahlédneme do zdrojového kódu třídy GO.dialog.LoginDialog
, zjistíme, máme pouze dvě cesty, jak se k checkboxu, který zajišťuje uložení přihlašovacích údajů dostat.
První možností je projít prvky formuláře a najít checkbox na základě jména:
this.formPanel.ownerCt.find('name', 'remind');
Druhou možností je využití funkčnosti Ext.util.MixedCollection
a smazat poslední prvek pole. Dle mého názoru bude druhá možnost vždy rychlejší. Vzhledem k tomu, že máme přímý přistup ke skriptu, který modifikuje přihlašovací dialog, v rámci administrace Group Office
, považuji toto řešení za dostatečné k vyřešení problému. V případě modifikace dialogu (což se stane jen ve chvíli, kdy bude doplněna do Group Office
opět funkce fullscreenu) postačí upravit index checkboxu.
Výsledný kód pak vypadá takto:
Ext.override(GO.dialog.LoginDialog, {
listeners : {
beforeRender : function() {
var items = this.formPanel.items;
var lastIndex = items.length - 1;
this.formPanel.items.removeAt(lastIndex)
}
}
});