def __call__(self): container = CTK.Container() container += CTK.RawHTML("<h2>%s</h2>" % (_('Create a new configuration file:'))) key = 'regular' name = _('Regular') label = _( 'Regular configuration: Apache logs, MIME types, icons, etc.') container += Form(key, name, label) key = 'static' name = _('Static Content') label = _('Optimized to send static content.') container += Form(key, name, label) key = 'development' name = _('Server Development') label = _('No standard port, No log files, No PID file, etc.') container += Form(key, name, label) conf_file = CTK.cfg.file notice = CTK.Notice('warning') notice += CTK.RawHTML("<b>%s</b><br/>" % (_(WARNING_NOT_FOUND_1) % (locals()))) notice += CTK.RawHTML(WARNING_NOT_FOUND_2) page = Page.Base(_('New Configuration File'), body_id='new-config', helps=HELPS) page += CTK.RawHTML("<h1>%s</h1>" % (_('Configuration File Not Found'))) page += notice page += CTK.Indenter(container) return page.Render()
def __call__(self): title = _('Status') # Content left = CTK.Box({'class': 'panel'}) left += CTK.RawHTML('<h2>%s</h2>' % (title)) right = CTK.Box({'class': 'status_content'}) left += CTK.Box({'class': 'filterbox'}, CTK.TextField({ 'class': 'filter', 'optional_string': _('Virtual Server Filtering'), 'optional': True })) left += CTK.Box({'id': 'status_panel'}, self.PanelList(right)) # Build the page page = Page.Base(title, body_id='status', helps=HELPS, headers=Submit_HEADER) page += left page += right return page.Render()
def __call__ (self): Cherokee.pid.refresh() # Top top = CTK.Box({'id': 'top-box'}) top += CTK.RawHTML ("<h1>%s</h1>"% _('Welcome to Cherokee Admin')) top += LanguageSelector() # Content: Left mainarea = CTK.Box({'id': 'main-area'}) mainarea += ServerInfo() mainarea += CPUInfo() mainarea += MemoryInfo() mainarea += CommunityBar() # Content: Right sidebar = CTK.Box({'id': 'sidebar'}) sidebar += SupportBox() sidebar += HaltAdmin() # Content cont = CTK.Box({'id': 'home-container'}) cont += mainarea cont += sidebar # Page page = Page.Base(_('Welcome to Cherokee Admin'), body_id='index', helps=HELPS) page += top page += cont page += CTK.RawHTML (js=JS_SCROLL) return page.Render()
def __call__(self): title = _('Information Sources') page = Page.Base(title, helps=HELPS) page += CTK.RawHTML("<h1>%s</h1>" % (title)) page += Panel() return page.Render()
def __call__ (self): title = _('Virtual Servers') # Virtual Server List left = CTK.Box({'class': 'panel'}) left += CTK.RawHTML('<h2>%s</h2>'%(title)) # Content refresh_r = CTK.Refreshable ({'id': 'vservers_panel'}) refresh_r.register (lambda: self.PanelList(refresh_r, right).Render()) # Refresh on 'New' or 'Clone' buttons = self.PanelButtons() buttons.bind ('submit_success', refresh_r.JS_to_refresh (on_success=JS_ACTIVATE_FIRST %(refresh_r.id))) left += buttons left += CTK.Box({'class': 'filterbox'}, CTK.TextField({'class':'filter', 'optional_string': _('Virtual Server Filtering'), 'optional': True})) right = CTK.Box({'class': 'vserver_content'}) left += refresh_r # Refresh the list whenever the content change right.bind ('submit_success', refresh_r.JS_to_refresh()); # Refresh the list when it's been reordered left.bind ('reordered', refresh_r.JS_to_refresh()) # Figure out content panel headers. This step is very tricky. # We have no idea what HTML headers the content HTML will # have. In fact, the panel content is receiving only the HTML # content only (body). # # The static CHILD_HEADERS class property will hold a copy of # the headers generated by the direct render of the PageVServer # class. It should cover most of the cases, unless a dynamically # loaded module requires an additional header entry. # if not self.CHILD_HEADERS: import PageVServer vsrv_num = CTK.cfg.keys('vserver')[0] render = PageVServer.RenderContent(vsrv_num).Render() self.CHILD_HEADERS = render.headers # Build the page page = Page.Base(title, body_id='vservers', helps=HELPS, headers=self.CHILD_HEADERS) page += left page += right return page.Render()
def __call__(self): Cherokee.pid.refresh() # Top top = CTK.Box({'id': 'top-box'}) top += CTK.RawHTML("<h1>%s</h1>" % _('Welcome to Cherokee Admin')) top += LanguageSelector() # Content: Left mainarea = CTK.Box({'id': 'main-area'}) mainarea += OWS_Market_Info.Index_Block1() mainarea += ServerInfo() if int(OWS_ENABLE): mainarea += RemoteServices() if OWS_Login.is_logged() and \ int (CTK.cfg.get_val("admin!ows!enabled", OWS_ENABLE)): mainarea += BackupService() mainarea += CPUInfo() mainarea += MemoryInfo() mainarea += CommunityBar() # Content: Right sidebar = CTK.Box({'id': 'sidebar'}) sidebar += SupportBox() if int(CTK.cfg.get_val("admin!ows!enabled", OWS_ENABLE)): sidebar += OWS_Cherokee_Info.Latest_Release() sidebar += ProudUsers() sidebar += OWS_Market_Info.Index_Block2() sidebar += HaltAdmin() # Content cont = CTK.Box({'id': 'home-container'}) cont += mainarea cont += sidebar # Page page = Page.Base(_('Welcome to Cherokee Admin'), body_id='index', helps=HELPS) page += top page += cont page += CTK.RawHTML(js=JS_SCROLL) return page.Render()
def __call__(self): title = _('Behavior') vsrv_num = re.findall(URL_BASE_R, CTK.request.url)[0] # Ensure the VServer exists if not CTK.cfg.keys('vserver!%s' % (vsrv_num)): return CTK.HTTP_Redir('/vserver') # Content left = CTK.Box({'class': 'panel'}) left += CTK.RawHTML('<h2>%s</h2>' % (title)) # Virtual Server List refresh = CTK.Refreshable({'id': 'rules_panel'}) refresh.register( lambda: self.PanelList(refresh, right, vsrv_num).Render()) # Refresh on 'New' or 'Clone' buttons = self.PanelButtons(vsrv_num) buttons.bind('submit_success', refresh.JS_to_refresh(on_success=JS_ACTIVATE_LAST)) left += buttons left += CTK.Box({'class': 'filterbox'}, CTK.TextField({ 'class': 'filter', 'optional_string': _('Rule Filtering'), 'optional': True })) right = CTK.Box({'class': 'rules_content'}) left += refresh # Refresh the list whenever the content change right.bind('changed', refresh.JS_to_refresh()) right.bind('update_rule_list', refresh.JS_to_refresh()) # Refresh the list when it's been reordered left.bind('reordered', refresh.JS_to_refresh()) # Build the page headers = Tab_HEADER + Submit_HEADER + TextField_HEADER + SortableList_HEADER page = Page.Base(title, body_id='rules', helps=HELPS, headers=headers) page += left page += right return page.Render()
def __call__(self): ports = PortsWidget() network = NetworkWidget() network.bind('submit_success', ports.refresh.JS_to_refresh()) tabs = CTK.Tab() tabs.Add(_('Network'), network) tabs.Add(_('Ports to listen'), ports) tabs.Add(_('Permissions'), PermsWidget()) tabs.Add(_('Icons'), Icons.Icons_Widget()) tabs.Add(_('Mime types'), Mime.MIME_Widget()) page = Page.Base(_("General"), body_id='general', helps=HELPS) page += CTK.RawHTML("<h1>%s</h1>" % (_('General Settings'))) page += tabs page += CTK.RawHTML(js=JS_SCROLL) return page.Render()
def __call__ (self): tabs = CTK.Tab() tabs.Add (_('Connections'), ConnectionsWidget()) tabs.Add (_('Resources'), ResourcesWidget()) tabs.Add (_('I/O cache'), IOCacheWidget()) tabs.Add (_('Special Files'), SpecialFilesWidget()) tabs.Add (_('TLS'), TLSWidget()) notice = CTK.Notice('warning') notice += CTK.RawHTML(_(WARNING)) page = Page.Base(_('Advanced'), body_id='advanced', helps=HELPS) page += CTK.RawHTML("<h1>%s</h1>" %(_('Advanced Configuration'))) page += notice page += tabs page += CTK.RawHTML (js=JS_SCROLL) return page.Render()
def __call__(self): # Content left = CTK.Box({'class': 'panel'}) left += CTK.RawHTML('<h2>%s</h2>' % (_('Information Sources'))) # Sources List refresh = CTK.Refreshable({'id': 'source_panel'}) refresh.register(lambda: self.PanelList(refresh, right).Render()) # Refresh on 'New' or 'Clone' buttons = self.PanelButtons() buttons.bind('submit_success', refresh.JS_to_refresh(on_success=JS_ACTIVATE_LAST)) left += buttons left += CTK.Box({'class': 'filterbox'}, CTK.TextField({ 'class': 'filter', 'optional_string': _('Sources Filtering'), 'optional': True })) right = CTK.Box({'class': 'source_content'}) left += refresh # Refresh the list whenever the content change right.bind('submit_success', refresh.JS_to_refresh()) # Build the page headers = Submit_HEADER + TextField_HEADER page = Page.Base(_("Information Sources"), body_id='source', helps=HELPS, headers=headers) page += left page += right return page.Render()