diff options
-rw-r--r-- | cobbler/remote.py | 2 | ||||
-rw-r--r-- | cobbler/webui/CobblerWeb.py | 15 | ||||
-rw-r--r-- | cobbler/webui/master.py | 134 | ||||
-rw-r--r-- | setup.py | 3 | ||||
-rw-r--r-- | webui_content/icon-tip.png | bin | 1749 -> 0 bytes | |||
-rw-r--r-- | webui_content/icon_16_sync.png | bin | 0 -> 541 bytes | |||
-rw-r--r-- | webui_content/style.css | 18 | ||||
-rw-r--r-- | webui_templates/blank.tmpl | 8 | ||||
-rw-r--r-- | webui_templates/index.tmpl | 2 | ||||
-rw-r--r-- | webui_templates/master.tmpl | 46 |
10 files changed, 129 insertions, 99 deletions
diff --git a/cobbler/remote.py b/cobbler/remote.py index f3fa070..f36d057 100644 --- a/cobbler/remote.py +++ b/cobbler/remote.py @@ -275,7 +275,7 @@ class CobblerXMLRPCInterface: random.randint(0x00, 0xff) ] mac = ':'.join(map(lambda x: "%02x" % x, mac)) systems = self.api.systems() - while ( systems.find(mac=mac) ): + while ( systems.find(mac_address=mac) ): mac = self.random_mac() return mac diff --git a/cobbler/webui/CobblerWeb.py b/cobbler/webui/CobblerWeb.py index 8026ebc..2dcd36f 100644 --- a/cobbler/webui/CobblerWeb.py +++ b/cobbler/webui/CobblerWeb.py @@ -123,7 +123,9 @@ class CobblerWeb(object): data['base_url'] = self.base_url # used by master.tmpl to determine whether or not to show login/logout links - if self.token is not None: + if data.has_key("hide_links"): + data['logged_in'] = None + elif self.token is not None: data['logged_in'] = 1 elif self.username and self.password: data['logged_in'] = 'configured' @@ -226,14 +228,18 @@ class CobblerWeb(object): # ------------------------------------------------------------------------ # def index(self): - return self.__render( 'index.tmpl', dict() ) + return self.__render( 'index.tmpl', { "hide_links" : True } ) + + def menu(self): + return self.__render( 'blank.tmpl', { } ) + # ------------------------------------------------------------------------ # # Authentication # ------------------------------------------------------------------------ # def login(self, message=None): - return self.__render( 'login.tmpl', {'message': message} ) + return self.__render( 'login.tmpl', {'message': message, "hide_links" : True } ) def login_submit(self, username=None, password=None, submit=None): if username is None: @@ -247,7 +253,7 @@ class CobblerWeb(object): if not self.__xmlrpc_setup(is_login=True): return self.login(message="XMLRPC Login Failed.") - return self.index() + return self.menu() def logout_submit(self): self.token = None @@ -733,6 +739,7 @@ class CobblerWeb(object): modes.exposed = False error_page.exposed = False index.exposed = True + menu.exposed = True login.exposed = True login_submit.exposed = True diff --git a/cobbler/webui/master.py b/cobbler/webui/master.py index 98d0ba4..449cdff 100644 --- a/cobbler/webui/master.py +++ b/cobbler/webui/master.py @@ -33,10 +33,10 @@ VFN=valueForName currentTime=time.time __CHEETAH_version__ = '2.0rc8' __CHEETAH_versionTuple__ = (2, 0, 0, 'candidate', 8) -__CHEETAH_genTime__ = 1190905054.4749429 -__CHEETAH_genTimestamp__ = 'Thu Sep 27 10:57:34 2007' +__CHEETAH_genTime__ = 1190910357.384402 +__CHEETAH_genTimestamp__ = 'Thu Sep 27 12:25:57 2007' __CHEETAH_src__ = 'webui_templates/master.tmpl' -__CHEETAH_srcLastModified__ = 'Thu Sep 20 15:49:34 2007' +__CHEETAH_srcLastModified__ = 'Thu Sep 27 12:20:28 2007' __CHEETAH_docstring__ = 'Autogenerated by CHEETAH: The Python-Powered Template Engine' if __CHEETAH_versionTuple__ < RequiredCheetahVersionTuple: @@ -69,7 +69,7 @@ class master(Template): - ## CHEETAH: generated from #block body at line 57, col 1. + ## CHEETAH: generated from #block body at line 55, col 1. trans = KWS.get("trans") if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)): trans = self.transaction # is None unless self.awake() was called @@ -144,73 +144,71 @@ class master(Template): <div id="sidebar"> <ul id="nav"> - <li><a href="/cobbler/webui/wui.html" class="menu">Docs</a></li> - <li><hr/></li> - <li><a href="''') - _v = VFFSL(SL,"base_url",True) # '$base_url' on line 29, col 22 - if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 29, col 22. - write('''/settings_view" class="menu">Settings</a></li> - <li><hr/></li> - <li>LIST</li> - <li><a href="''') - _v = VFFSL(SL,"base_url",True) # '$base_url' on line 32, col 22 - if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 32, col 22. - write('''/distro_list" class="menu">Distros</a></li> - <li><a href="''') - _v = VFFSL(SL,"base_url",True) # '$base_url' on line 33, col 22 - if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 33, col 22. - write('''/profile_list" class="menu">Profiles</a></li> - <li><a href="''') - _v = VFFSL(SL,"base_url",True) # '$base_url' on line 34, col 22 - if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 34, col 22. - write('''/system_list" class="menu">Systems</a></li> - <li><a href="''') - _v = VFFSL(SL,"base_url",True) # '$base_url' on line 35, col 22 - if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 35, col 22. - write('''/ksfile_list" class="menu">Kickstarts</a></li> - <li><a href="''') - _v = VFFSL(SL,"base_url",True) # '$base_url' on line 36, col 22 - if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 36, col 22. - write('''/repo_list" class="menu">Repos</a></li> - <li><hr/></li> - <li>ADD</li> - <li><a href="''') - _v = VFFSL(SL,"base_url",True) # '$base_url' on line 39, col 22 - if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 39, col 22. - write('''/distro_edit" class="menu">Distro</a></li> - <li><a href="''') - _v = VFFSL(SL,"base_url",True) # '$base_url' on line 40, col 22 - if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 40, col 22. - write('''/profile_edit" class="menu">Profile</a></li> - <li><a href="''') - _v = VFFSL(SL,"base_url",True) # '$base_url' on line 41, col 22 - if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 41, col 22. - write('''/system_edit" class="menu">System</a></li> - <li><a href="''') - _v = VFFSL(SL,"base_url",True) # '$base_url' on line 42, col 22 - if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 42, col 22. - write('''/repo_edit" class="menu">Repo</a></li> - <li><hr/></li> ''') - if VFFSL(SL,"logged_in",True) != 'configured': # generated from line 44, col 10 - if VFFSL(SL,"logged_in",True): # generated from line 45, col 13 - write(''' <li><a href="''') - _v = VFFSL(SL,"base_url",True) # '$base_url' on line 46, col 30 - if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 46, col 30. - write('''/logout_submit" class="menu">Log Out</a></li> + if not VFFSL(SL,"logged_in",True): # generated from line 27, col 9 + write(''' <li><a href="''') + _v = VFFSL(SL,"base_url",True) # '$base_url' on line 28, col 26 + if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 28, col 26. + write('''/login" class="menu">Log In</a></li> ''') - else: # generated from line 47, col 13 - write(''' <li><a href="''') - _v = VFFSL(SL,"base_url",True) # '$base_url' on line 48, col 30 - if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 48, col 30. - write('''/login" class="menu">Log In</a></li> + else: # generated from line 29, col 9 + write(''' <li><a href="/cobbler/webui/wui.html" class="menu">Docs</a></li> + <li><a href="''') + _v = VFFSL(SL,"base_url",True) # '$base_url' on line 31, col 26 + if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 31, col 26. + write('''/settings_view" class="menu">Settings</a></li> + <li><a href="''') + _v = VFFSL(SL,"base_url",True) # '$base_url' on line 32, col 26 + if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 32, col 26. + write('''/logout_submit" class="menu">Log Out</a></li> + <li><hr/></li> + <li>LIST</li> + <li><a href="''') + _v = VFFSL(SL,"base_url",True) # '$base_url' on line 35, col 26 + if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 35, col 26. + write('''/distro_list" class="menu">Distros</a></li> + <li><a href="''') + _v = VFFSL(SL,"base_url",True) # '$base_url' on line 36, col 26 + if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 36, col 26. + write('''/profile_list" class="menu">Profiles</a></li> + <li><a href="''') + _v = VFFSL(SL,"base_url",True) # '$base_url' on line 37, col 26 + if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 37, col 26. + write('''/system_list" class="menu">Systems</a></li> + <li><a href="''') + _v = VFFSL(SL,"base_url",True) # '$base_url' on line 38, col 26 + if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 38, col 26. + write('''/ksfile_list" class="menu">Kickstarts</a></li> + <li><a href="''') + _v = VFFSL(SL,"base_url",True) # '$base_url' on line 39, col 26 + if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 39, col 26. + write('''/repo_list" class="menu">Repos</a></li> + <li><hr/></li> + <li>ADD</li> + <li><a href="''') + _v = VFFSL(SL,"base_url",True) # '$base_url' on line 42, col 26 + if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 42, col 26. + write('''/distro_edit" class="menu">Distro</a></li> + <li><a href="''') + _v = VFFSL(SL,"base_url",True) # '$base_url' on line 43, col 26 + if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 43, col 26. + write('''/profile_edit" class="menu">Profile</a></li> + <li><a href="''') + _v = VFFSL(SL,"base_url",True) # '$base_url' on line 44, col 26 + if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 44, col 26. + write('''/system_edit" class="menu">System</a></li> + <li><a href="''') + _v = VFFSL(SL,"base_url",True) # '$base_url' on line 45, col 26 + if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 45, col 26. + write('''/repo_edit" class="menu">Repo</a></li> + <li><hr/><br/></li> + <li><a class="button sync" href="''') + _v = VFFSL(SL,"base_url",True) # '$base_url' on line 47, col 46 + if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 47, col 46. + write('''/sync">Sync</a></li> ''') - write(''' <li><hr/></li> -''') - write(''' <li><a href="''') - _v = VFFSL(SL,"base_url",True) # '$base_url' on line 52, col 21 - if _v is not None: write(_filter(_v, rawExpr='$base_url')) # from line 52, col 21. - write('''/sync" class="menu">Sync</A></li> + write(''' + </ul> </div> @@ -127,6 +127,7 @@ if __name__ == "__main__": # slurp in whole directory? (wwwtmpl, ['webui_templates/empty.tmpl']), + (wwwtmpl, ['webui_templates/blank.tmpl']), (wwwtmpl, ['webui_templates/distro_list.tmpl']), (wwwtmpl, ['webui_templates/distro_edit.tmpl']), (wwwtmpl, ['webui_templates/profile_list.tmpl']), @@ -153,7 +154,7 @@ if __name__ == "__main__": (wwwgfx, ['docs/wui.html']), (wwwgfx, ['docs/cobbler.html']), (wwwgfx, []), - (wwwgfx, ['webui_content/icon-tip.png']), + (wwwgfx, ['webui_content/icon_16_sync.png']), (wwwgfx, ['webui_content/style.css']), (wwwgfx, ['webui_content/logo-cobbler.png']), (wwwgfx, ['webui_content/cobblerweb.css']), diff --git a/webui_content/icon-tip.png b/webui_content/icon-tip.png Binary files differdeleted file mode 100644 index 2f5fa0b..0000000 --- a/webui_content/icon-tip.png +++ /dev/null diff --git a/webui_content/icon_16_sync.png b/webui_content/icon_16_sync.png Binary files differnew file mode 100644 index 0000000..109b9f1 --- /dev/null +++ b/webui_content/icon_16_sync.png diff --git a/webui_content/style.css b/webui_content/style.css index e764148..17e17b8 100644 --- a/webui_content/style.css +++ b/webui_content/style.css @@ -1,3 +1,21 @@ +.button { + border: 1px solid #d0d0d0; + -moz-border-radius: 6px; + background-color: #717171; + padding: 2px 16px; + padding-left: 32px; + background-image: url('/cobbler/webui/icon_16_sync.png'); + background-position: 15%; + background-repeat: no-repeat; +} + +a.button, a.button:link, a.button:visited, a.button:active { + text-decoration: none; + color: #444; + font-weight: bold; + font-family: sans-serif; +} + body, html { background-color: black; margin: 0; diff --git a/webui_templates/blank.tmpl b/webui_templates/blank.tmpl new file mode 100644 index 0000000..f99c6bc --- /dev/null +++ b/webui_templates/blank.tmpl @@ -0,0 +1,8 @@ +#extends cobbler.webui.master + +#block body +You are now logged in to <A HREF="http://cobbler.et.redhat.com">Cobbler</A>. + +Main screen turn on. + +#end block body diff --git a/webui_templates/index.tmpl b/webui_templates/index.tmpl index ec471ed..8141734 100644 --- a/webui_templates/index.tmpl +++ b/webui_templates/index.tmpl @@ -7,7 +7,7 @@ Welcome to <A HREF="http://cobbler.et.redhat.com">Cobbler</A>. <br/> <br/> -Main screen turn on. +Please log in. #end block body diff --git a/webui_templates/master.tmpl b/webui_templates/master.tmpl index 516e994..9c58fe9 100644 --- a/webui_templates/master.tmpl +++ b/webui_templates/master.tmpl @@ -24,32 +24,30 @@ <div id="sidebar"> <ul id="nav"> - <li><a href="/cobbler/webui/wui.html" class="menu">Docs</a></li> - <li><hr/></li> - <li><a href="$base_url/settings_view" class="menu">Settings</a></li> - <li><hr/></li> - <li>LIST</li> - <li><a href="$base_url/distro_list" class="menu">Distros</a></li> - <li><a href="$base_url/profile_list" class="menu">Profiles</a></li> - <li><a href="$base_url/system_list" class="menu">Systems</a></li> - <li><a href="$base_url/ksfile_list" class="menu">Kickstarts</a></li> - <li><a href="$base_url/repo_list" class="menu">Repos</a></li> - <li><hr/></li> - <li>ADD</li> - <li><a href="$base_url/distro_edit" class="menu">Distro</a></li> - <li><a href="$base_url/profile_edit" class="menu">Profile</a></li> - <li><a href="$base_url/system_edit" class="menu">System</a></li> - <li><a href="$base_url/repo_edit" class="menu">Repo</a></li> - <li><hr/></li> - #if $logged_in != 'configured' - #if $logged_in - <li><a href="$base_url/logout_submit" class="menu">Log Out</a></li> - #else - <li><a href="$base_url/login" class="menu">Log In</a></li> - #end if + #if not $logged_in + <li><a href="$base_url/login" class="menu">Log In</a></li> + #else + <li><a href="/cobbler/webui/wui.html" class="menu">Docs</a></li> + <li><a href="$base_url/settings_view" class="menu">Settings</a></li> + <li><a href="$base_url/logout_submit" class="menu">Log Out</a></li> <li><hr/></li> + <li>LIST</li> + <li><a href="$base_url/distro_list" class="menu">Distros</a></li> + <li><a href="$base_url/profile_list" class="menu">Profiles</a></li> + <li><a href="$base_url/system_list" class="menu">Systems</a></li> + <li><a href="$base_url/ksfile_list" class="menu">Kickstarts</a></li> + <li><a href="$base_url/repo_list" class="menu">Repos</a></li> + <li><hr/></li> + <li>ADD</li> + <li><a href="$base_url/distro_edit" class="menu">Distro</a></li> + <li><a href="$base_url/profile_edit" class="menu">Profile</a></li> + <li><a href="$base_url/system_edit" class="menu">System</a></li> + <li><a href="$base_url/repo_edit" class="menu">Repo</a></li> + <li><hr/><br/></li> + <li><a class="button sync" href="$base_url/sync">Sync</a></li> #end if - <li><a href="$base_url/sync" class="menu">Sync</A></li> + + </ul> </div> |