From 507dd38bc20c6b33d090640e183bda3f8fb5a7ae Mon Sep 17 00:00:00 2001 From: halex Date: Sun, 13 May 2007 03:04:09 +0000 Subject: [PATCH] Some minor changes to Hawkeye: * Colors are a bit more vibrant (less gray, more blue). * Generic notification message implemented (might need some more work). * Neater agent-selection page. * Few other tiny fixups/enchancements. --- src/www/Bongo.rules | 4 +- src/www/bongo/hawkeye/AgentView.py | 1 + src/www/bongo/hawkeye/BackupView.py | 7 +-- src/www/bongo/hawkeye/RootView.py | 2 + src/www/bongo/hawkeye/ServerView.py | 21 ++++++-- src/www/bongo/hawkeye/SystemView.py | 1 + src/www/css/hawkeye.css | 71 ++++++++++++++++++++++---- src/www/hawkeye/agents/index.tpl | 4 +- src/www/hawkeye/backup/index.tpl | 2 - src/www/hawkeye/footer.tpl | 1 + src/www/hawkeye/header.tpl | 7 +++ src/www/hawkeye/root/index.tpl | 29 ++++++----- src/www/hawkeye/server/index.tpl | 26 ++++------ src/www/hawkeye/system/index.tpl | 2 - src/www/img/desktop-big.png | Bin 0 -> 5382 bytes src/www/img/dialog-error-32.png | Bin 0 -> 1645 bytes src/www/img/dialog-information-32.png | Bin 0 -> 1910 bytes src/www/img/welcome-box.png | Bin 7758 -> 0 bytes 18 files changed, 124 insertions(+), 54 deletions(-) create mode 100644 src/www/img/desktop-big.png create mode 100644 src/www/img/dialog-error-32.png create mode 100644 src/www/img/dialog-information-32.png delete mode 100644 src/www/img/welcome-box.png diff --git a/src/www/Bongo.rules b/src/www/Bongo.rules index 37ab14a..56e9962 100644 --- a/src/www/Bongo.rules +++ b/src/www/Bongo.rules @@ -185,6 +185,7 @@ dist_img_DATA := \ src/www/img/bg.png \ src/www/img/Bongo-logo.png \ src/www/img/cbg.png \ + src/www/img/desktop-big.png \ src/www/img/dialog-warning.png \ src/www/img/help-browser.png \ src/www/img/locked.png \ @@ -194,8 +195,7 @@ dist_img_DATA := \ src/www/img/system-installer.png \ src/www/img/system-users.png \ src/www/img/user.png \ - src/www/img/user-desktop.png \ - src/www/img/welcome-box.png + src/www/img/user-desktop.png jsdir = $(htdocsdir)/js diff --git a/src/www/bongo/hawkeye/AgentView.py b/src/www/bongo/hawkeye/AgentView.py index 68ae7dd..c9d5aa1 100644 --- a/src/www/bongo/hawkeye/AgentView.py +++ b/src/www/bongo/hawkeye/AgentView.py @@ -6,4 +6,5 @@ class AgentHandler(HawkeyeHandler): def index_GET(self, req, rp): self.SetVariable("breadcrumb", "Agents") self.SetVariable("agntab", "selecteditem") + self.SetVariable("title", "Agents") return self.SendTemplate(req, rp, "index.tpl") diff --git a/src/www/bongo/hawkeye/BackupView.py b/src/www/bongo/hawkeye/BackupView.py index cb0efa7..0a4dac5 100644 --- a/src/www/bongo/hawkeye/BackupView.py +++ b/src/www/bongo/hawkeye/BackupView.py @@ -13,8 +13,9 @@ class BackupHandler(HawkeyeHandler): def index_GET(self, req, rp): today = datetime.date.today() self.SetVariable("set", today.strftime("%y%m%d")) - self.SetVariable("breadcrumb", "System » Backup and Restore"); - self.SetVariable("systab", "selecteditem"); + self.SetVariable("breadcrumb", "System » Backup and Restore") + self.SetVariable("systab", "selecteditem") + self.SetVariable("title", "Backup and Restore") return self.SendTemplate(req, rp, "index.tpl") def download_GET(self, req, rp): @@ -46,7 +47,7 @@ class BackupHandler(HawkeyeHandler): else: agent["enabled"] = False else: - self.SetVariable("message", "Unable to read config") + self.SetVariable("error", "Unable to read config from store.") self._setManagerFile(req, config) return self.index_GET(req, rp) diff --git a/src/www/bongo/hawkeye/RootView.py b/src/www/bongo/hawkeye/RootView.py index 162cee6..18ca1b3 100644 --- a/src/www/bongo/hawkeye/RootView.py +++ b/src/www/bongo/hawkeye/RootView.py @@ -29,12 +29,14 @@ class RootHandler(HawkeyeHandler): if len(t) == 3: ## and t[0] == VmKey: return float(t[1]) * _scale.get(t[2], 0.0) except: + self.SetVariable("error", "Unable to get memory statistics for your system.") pass return 0.0 def index_GET(self, req, rp): # template ui self.SetVariable("breadcrumb", "Desktop") + self.SetVariable("title", "Welcome!") self.SetVariable("dsktab", "selecteditem") # check ram free cm = self.memory("MemTotal:") diff --git a/src/www/bongo/hawkeye/ServerView.py b/src/www/bongo/hawkeye/ServerView.py index 9bc9b0c..d226284 100644 --- a/src/www/bongo/hawkeye/ServerView.py +++ b/src/www/bongo/hawkeye/ServerView.py @@ -4,13 +4,22 @@ from bongo.store.StoreClient import StoreClient, DocTypes import bongo.external.simplejson as simplejson from HawkeyeHandler import HawkeyeHandler +doneop = 0 + class ServerHandler(HawkeyeHandler): def NeedsAuth(self, rp): return True def index_GET(self, req, rp): + global doneop agentlist = [] config = self._getManagerFile(req) + + if doneop: + self.SetVariable("opsuccess", 1) + doneop = 0 + else: + self.SetVariable("opsuccess", 0) # change things which eval. to False to empty elements if config != None and config.has_key("agents"): @@ -21,13 +30,17 @@ class ServerHandler(HawkeyeHandler): self.SetVariable("success", 1) else: self.SetVariable("success", 0) + self.SetVariable("error", "Unable to read configuration information from the Bongo store. Are you logged in as a user with administrative permissions?") - self.SetVariable("breadcrumb", "Agents » Enable/Disable Agents"); - self.SetVariable("agntab", "selecteditem"); + self.SetVariable("breadcrumb", "Agents » Enable/Disable Agents") + self.SetVariable("title", "Enable/Disable Agents") + self.SetVariable("agntab", "selecteditem") return self.SendTemplate(req, rp, "index.tpl") def index_POST(self, req, rp): + global doneop + if not req.form: return bongo.dragonfly.HTTP_UNAUTHORIZED @@ -42,9 +55,11 @@ class ServerHandler(HawkeyeHandler): else: agent["enabled"] = False else: - self.SetVariable("message", "Unable to read config") + self.SetVariable("error", "Unable to read config") self._setManagerFile(req, config) + # Operation completed OK. + doneop = 1 return self.index_GET(req, rp) def login_POST(self, req, rp): diff --git a/src/www/bongo/hawkeye/SystemView.py b/src/www/bongo/hawkeye/SystemView.py index 2c49472..a36b2a4 100644 --- a/src/www/bongo/hawkeye/SystemView.py +++ b/src/www/bongo/hawkeye/SystemView.py @@ -7,4 +7,5 @@ class SystemHandler(HawkeyeHandler): def index_GET(self, req, rp): self.SetVariable("breadcrumb", "System") self.SetVariable("systab", "selecteditem") + self.SetVariable("title", "System") return self.SendTemplate(req, rp, "index.tpl") diff --git a/src/www/css/hawkeye.css b/src/www/css/hawkeye.css index 209f1da..185d8eb 100644 --- a/src/www/css/hawkeye.css +++ b/src/www/css/hawkeye.css @@ -55,17 +55,27 @@ min-height: 500px; #sidebar { color: #eeeeec; /* Tango WHITE */ -/* background: url('/img/sbg.png'); - background-repeat: repeat-x;*/ + background: url('/img/sbg.png'); + background-repeat: repeat-x; background-color: #2e3436; /* Tango DARK-GREY */ float: left; -height: 500px; +min-height: 500px; width: 175px; text-align: right; margin-right: 0px; padding-right: 0px; --moz-border-radius: 15px; +padding-bottom: 6px; + +-moz-border-radius-bottomleft: 20px; +-khtml-border-radius-bottomleft: 20px; +border-radius-bottomleft: 20px; + +-moz-border-radius-bottomright: 20px; +-khtml-border-radius-bottomright: 20px; +border-radius-bottomright: 20px; + +/*-moz-border-radius: 15px;*/ } .helpitem { /* FIXME! */ @@ -134,18 +144,59 @@ ul.nav{ width: 100%; } .htable { -border: 2px solid #2e3436; -font-size: 110%; +border: 3px solid #729fcf; +/*font-size: 110%;*/ +-moz-border-radius: 10px; } + .hrow { -background-color: #2e3436; -color: #eeeeec; +color: #d3d7cf; + font-weight: bold; padding-left: 4px; } -.drow { -border-bottom: 1px dotted #2e3436; + +.highlight, .highlight0 { +color: #d3d7cf; +background-color: #204a87; } + +.highlight1 { +color: #d3d7cf; +background-color: #3465a4; +} + +.drow { +color: #d3d7cf; +} + +.error, .info { +-moz-border-radius: 5px; + +margin-right: 12px; +min-height:18px; /* Icon size - total padding (top & bottom) */ +padding-top: 8px; +padding-bottom: 8px; + + +padding-left: 36px; +background-repeat: no-repeat; +} + +.error { +background-image: url('/img/dialog-error-32.png'); +background-color: #a40000; +color: #eeeeec; +border: 3px solid #cc0000; +} + +.info { +background-image: url('/img/dialog-information-32.png'); +background-color: #3465a4; +color: #eeeeec; +border: 3px solid #204a85; +} + .tlist { padding-bottom: 3px; padding-top: 3px; diff --git a/src/www/hawkeye/agents/index.tpl b/src/www/hawkeye/agents/index.tpl index df1ed1f..0798778 100644 --- a/src/www/hawkeye/agents/index.tpl +++ b/src/www/hawkeye/agents/index.tpl @@ -1,10 +1,8 @@ %(include|header.tpl)s -

Agents

- %(include|footer.tpl)s diff --git a/src/www/hawkeye/backup/index.tpl b/src/www/hawkeye/backup/index.tpl index a9e1b7d..f83d153 100644 --- a/src/www/hawkeye/backup/index.tpl +++ b/src/www/hawkeye/backup/index.tpl @@ -1,7 +1,5 @@ %(include|header.tpl)s -

Backup and Restore

-

This allows you to save and restore copies of the Bongo server configuration. It does not look at user data such as contacts or e-mail: use the specialist bongo-backup tool to handle those (potentially very large) diff --git a/src/www/hawkeye/footer.tpl b/src/www/hawkeye/footer.tpl index 19d0481..2b68b51 100644 --- a/src/www/hawkeye/footer.tpl +++ b/src/www/hawkeye/footer.tpl @@ -1,3 +1,4 @@ + diff --git a/src/www/hawkeye/header.tpl b/src/www/hawkeye/header.tpl index b635599..416fa8d 100644 --- a/src/www/hawkeye/header.tpl +++ b/src/www/hawkeye/header.tpl @@ -27,3 +27,10 @@

+

Untitled page

+ +
Something happened, but I'm not sure.
+
An error occured while processing your request. No more information is available.
+
Operation completed sucessfully.
+ + diff --git a/src/www/hawkeye/root/index.tpl b/src/www/hawkeye/root/index.tpl index 3b85646..fb96339 100644 --- a/src/www/hawkeye/root/index.tpl +++ b/src/www/hawkeye/root/index.tpl @@ -1,38 +1,39 @@ %(include|header.tpl)s -Welcome to Bongo +Welcome to Bongo -

Welcome

Thank you for choosing Bongo as your calendaring and mail solution.

-

This screen enables you to briefly overview your system status, and to access commonly and recently used tasks.

-

Help can be accessed by clicking on the help menu at any time.
To get started, either click on one of the menus to the left, or click on one of the common tasks listed below.

+

This screen enables you to briefly overview your system status, and as a starting point to the different administration tasks available.

+

Help can be accessed by clicking on the help menu at any time.
To get started, click on one of the menu items to your left.

+ +
- + - + - + - - + - + - + diff --git a/src/www/hawkeye/server/index.tpl b/src/www/hawkeye/server/index.tpl index f749990..69554a9 100644 --- a/src/www/hawkeye/server/index.tpl +++ b/src/www/hawkeye/server/index.tpl @@ -1,31 +1,27 @@ %(include|header.tpl)s -

Enable/Disable Agents

+

-

No message.

- -

- Unable to read configuration information from the Bongo store. - Are you logged in as a user with administrative permissions? -

- -
+
-
Agent StatusOperation normal.Operation normal.
Bongo Updates -

Running version: unknown
- Latest available: unknown

-

Upgrade to new version recommended.

+
+ Running version: unknown
+ Latest available: unknown +
Upgrade to new version recommended.
Warning
System Status Current processing load: unknown
Memory Usage RAM
Load Unknown
- - - +
Enabled?Agent Name
+ + + - - +
EnabledAgent Name
+
unknown agent
+
+

+ %(include|footer.tpl)s diff --git a/src/www/hawkeye/system/index.tpl b/src/www/hawkeye/system/index.tpl index ec72a57..e2f9d0a 100644 --- a/src/www/hawkeye/system/index.tpl +++ b/src/www/hawkeye/system/index.tpl @@ -1,7 +1,5 @@ %(include|header.tpl)s -

System

- diff --git a/src/www/img/desktop-big.png b/src/www/img/desktop-big.png new file mode 100644 index 0000000000000000000000000000000000000000..8dd22b2d6048a7295acbe5c6a14f2016a3436eb3 GIT binary patch literal 5382 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 literal 0 HcmV?d00001 diff --git a/src/www/img/dialog-error-32.png b/src/www/img/dialog-error-32.png new file mode 100644 index 0000000000000000000000000000000000000000..cdd95bade1d2fc496e067d2a78e4b1cf76624e03 GIT binary patch literal 1645 zcmV-z29o)SP)J|hNJzXP#E<$=-ogV>)1o4!GO2i|5LA?gsIBe9NfeqyuIy~qYkTdT z-PxVF_wukao7r7EP7xAUI=VAw?w<3VpSgDy{?9|)?ZUHAXv0%++kOEl4{D`~O6ws@ zO2?9N#b~|YDRoM~%+s*;KLa=e6SigjM#DEsqoaEF7Y?N}yT?f63&eB7v}+r9i&r8L^0~61G+ct9-J4QmI#`K7ZI15FE z&cpRh7d3l{eaD`S<%@;G87Y6(pMh=({s_A>QZ5{Q<$F1~xC9%U1F4P9{kkwK18a#ymFz*&cut zJXI{@l~4-ZYWF&hM5(ukva1)OBa!rnIwd8l?IDCDmmSs~Jk|pc6XLt06ZT`+dj|leR5$WF0XEK`$E#L5y%LMzmMaJ$Hp4YGfPh=g zN+maxjH6qv9gXhfxCgY+z@MK-q|?OiAICKw0xCTKz@_@tYZF694r4Z*P6Gn&i4&dF z8iQXh<6Xawah&cB7xqfe?iblTd-RTjS(yw1K=BTsyu)3Xz5EwGCfUGucImz z{H3MN8?wz-+pp^f44=ud0=3K6HnlOQdH`IQ+1RXG?Zr><{uwq4-9+C5 zWDGK$z{Dhu+p>YPA%Fxp4mBafTg(5P_2qqIc(oeJb-SlqxbuagxV_c(Z_S}zh37+{ zj~&=U`GW;t8s3DGmwr`y|r5R z;YUP97vLByBgAW0-~FJGcz6<%jPDq|+5#pDu8qN@5~LoQVDWFWjuhh6=uzAQ08rQZ zCr;Cy{q*l2ddWv0z@!obsog62o@_;;C!JvE%LiF{Z?5gO+8@=m{waN9U~7L1cG)mr zDCI}Szjh?%oWF#>QtNHFEjm1^2e3;yh7Rv%`Mr5>vsznj!h>6V6K;97oPm1;oK2;Y zhxQ(QIAt0x%?sC2PIKGWFcfPzO=@x+k&5%_Uq5boZhNi`Pd*3Lt$b~JxV;9kF?dx9 z@nU|okQjO7ki>1#y19zK?x5Wk+EWm-kjVsAE=_DKkBnQ~I(Nmd-CFb7aPlPl;0!dj z^RpFz05ZT3kogWwPQ#D0@JKS1P}#9UDp|~852vw*l6X#&R;@vMb%XVrYfaB>S?h4_ zP59N@a0RFXPGsH@ARPb@pni2LBVP+y12hw%QN;oMTE)9ZBJ z_i)~%^Pf@OO$pL;zT3h~q=PvXNCJq{`CnlIqaNS_O*$zLC3L*m@BB^x(dV(iVG2kF rj^lye2K)#>8)yZN-9R_sG&=qR=b8{jvze+~00000NkvXXu0mjfkhc>` literal 0 HcmV?d00001 diff --git a/src/www/img/dialog-information-32.png b/src/www/img/dialog-information-32.png new file mode 100644 index 0000000000000000000000000000000000000000..2ac57475c3b36e46ff4c4ea0506892e2fe884fd7 GIT binary patch literal 1910 zcmV-+2Z{KJP)W~QdMmlr4dytt0lBR3q?&; zsf}7ieW{ceqQ0~w%0ngR(l(+>6RT|+k)U#E5K0IT8=Mf^q}b(RJRV=>K69@7oZW{E z6%PeG5mk@0w56kc*8i=4U(N#l&kxlzdElw1LXir#G9KKfp!(p+CIA4}as(RoJ?ph< z1O7I&f4_Oh0lvTIXM4f;uUc2F*Hc}+k+#-Wgu^;CM({lsi;Ii6bn(1#X=2n?p8Ult zFa3J(jsOe{JflYw)=*=zShA`mbU-k=^sX0S3bG^fyY9h&Y0*p?-h1EjYvd&-0xsN}5e{ec8zp`u9n(Vo=?+@1vuxr;( zdmq{sySgZ`X-yEFtvWOgk1=u?K@veSA{RswfCnfq-Vjh%=E~LCoS`1w+!r}> z`egsc4Sj>7qo=I@ro(Oqz;w2~xpQOK_66FLgqDN`0whSeMC33|HYc(f!R7=@<79G1 zR#?~UctgM_n@*u@OS`XsbC~ID`%QIj>OTwYZ0%eZ%2h0^Y}4Vx_lPN%Kn_7UM6fv{ zi!o+0P8Ja?jWdIDG6RBDf;y{S&XkIM_uZ#~={xJ+gud6+5RKznriy?F03ZoPF5|En zk;92O#FS(p7l7|GQp#7bUC(1g#h|W*3RRm{G^d)Oyw!CBDCI>pp}|u&OviJALUW1W z5XfPSY{p=J20;=aPXl~c`BbR53&8+ajL0`#54zx_d_P(@05PouWhWVvm|mz_@rdpL z%pro!h%5%OI3t@Fa~VM@U-?0l0G~0c*1ZRa_*l7=MN?FF77CV; zEm~y&Hi2x;$YdNQ=VWLM6-Ror^Ck1VCFRVT6^W*xu2q7Jnai8PTCP~O7}F-}2Jk%d zx7RL?mRB}6dR!yt@?tf=@vcNFq!Z7Tt#q;MPAyjKiMhNvTru2n!C5w9&wr&dH~DBl zXojvc;|pzxI6l^@7iZ|Y^bJcm^55Je(FYX)}8FA}7hJYg1-a35r zueOloU{^~#GCY|bHykfJezouxm?|xcg}XZ2k`E^1(H;)UgKOs^&36r^nqq64qWZ=c zo_~(p(%U&WIB0zCpV5vzKj{tWp?`dH$8JN3$mEKqfFjN_hUtt&LRvl?;3b_4Ly)_H zc+f9d648MEqka3H6{TYF$yZ+d&7W_TpWP1N)t8?C*mbS%o_zO+NH&HNnVfaiHVO$w zN(#;#oeP7QYhS!Lk#s%h(}sZPo){lDi-q#w?ZlS^0089E>ACc^SXl6oRGyWdnJs7M z(n(@WGF`dv9Xr~do}Hc4HBsTj+OAxgCIxwRDY=&f@bb(1b5i;r&s>|KWevgAhEs`s z^x?6uUHa#H+b(``bm!Rk$tPB?jOqkRaAG~DPJIy589rD_Zf&U@k?op$|ML2Q6W`mj zV^yjpsV__mICk-FrhqlwD-exEzvwzub@1)O*BsXwdU5c%**o47Zr}0v!C0c_v4^*8 zK~K+GG)5!fTmvH@n_Iv;Zy(0^_{8P;jK1#Bp%?5s>Hq+=Hs>GOve|~O7~Xi}PslEm z;7Sh-4FL$vK|VL-<*a9NcX#vCnx=$dOrcyhK}f5*DU#?W3N0#5)c%sGQnK9pimif5HF z4xc%b`Q`k4vHV$+3KxK^jqc}hKnD=0MR0n$WKK?IhdVoaWpi_P-|pQ%*EVf>1k=-H zJDsi^IC5m<)oRriweP65#MgsrP)i1&8>;`03jjjtbb7j@qvM{jv9Z?C(NRC2&yO8H ze*BM~=Xn79n$UFzRPCK#bEB>$pqi*&8$}I72M}m)Z*TT}pJy_eVoksWVAn#{!U162 wYzgYQ39nnK)ttN0UffXS^-8b1am$VPZ%s-(_>=>Px# literal 0 HcmV?d00001 diff --git a/src/www/img/welcome-box.png b/src/www/img/welcome-box.png deleted file mode 100644 index 04abdc5feab61d192c1c0420e666eff6d9ecbd0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7758 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