def get_submit_row(self, hidden_fields=None): or_plus_button = input( attr(type="button", value="OR+", onclick="addOrForm(this)", style="float: left;")) save_input = input( attr(id='save_input', type="text", name="save_input", value=_('name'), disabled='disabled', style="float: left; margin-left: 0.4em; display:none;")) save_button = input( attr(type="button", value="Save", onclick="saveUnionForm(this)", style="float: left; margin-left: 0.4em")) submit_button = input( attr(type=u'button', value=u'OK', onclick='sendUnionForm(this)', style="float: right;")) return tr( attr(cssc='submit_row'), td(or_plus_button, save_input, save_button, hidden_fields, submit_button), )
def _get_blocking_form(self, blocking_action): from fred_webadmin.controller.adif import Domain return form( attr(method='post', action='%s/filter/blocking_start/' % f_urls['domain']), input(type='hidden', name='pre_blocking_form', value='1'), input(type='hidden', name='blocking_action', value=blocking_action), input(type='hidden', name='object_selection', value=self.data.get('id')), input(type='submit', value=Domain.blocking_views[blocking_action].action_name), )
def make_content(self): nperm = None if self.owner_form: nperms = [ nperms for nperms in self.owner_form.get_nperms() if nperms.split('.')[-1] == self.get_nperm() ] nperm = nperms[0] if nperms else None self.content = [] # add/remove empty choice according if self.required and self.choices and self.choices[ 0] == self.empty_choice: # remove empty choice: self.choices.pop(0) elif not self.required and (not self.choices or (self.choices and self.choices[0] != self.empty_choice)): # add empty choice: self.choices.insert(0, self.empty_choice) if self.choices: user = cherrypy.session.get('user') for value, caption in list(self.choices): if user and nperm and user.has_nperm(nperm, value): continue if self.as_radio_buttons: item = label( input(attr(type='radio', name=self.name, value=value), tagid('radio_input')), caption) else: item = option(attr(value=value), caption) if unicode(value) == unicode(self.value): if self.as_radio_buttons: item.radio_input.checked = 'checked' else: item.selected = 'selected' self.add(item)
def build_or_row(self): return td( attr(cssc='or_cell', colspan=self.columns_count), input(attr( type="button", value="OR-", onclick="removeOr(this)", style="float: left;")), div(attr(style="padding-top: 0.3em"), 'OR'))
def get_submit_row(self, hidden_fields=None): or_plus_button = input(attr( type="button", value="OR+", onclick="addOrForm(this)", style="float: left;")) save_input = input(attr( id='save_input', type="text", name="save_input", value=_('name'), disabled='disabled', style="float: left; margin-left: 0.4em; display:none;")) save_button = input(attr( type="button", value="Save", onclick="saveUnionForm(this)", style="float: left; margin-left: 0.4em")) submit_button = input(attr( type=u'button', value=u'OK', onclick='sendUnionForm(this)', style="float: right;")) return tr(attr(cssc='submit_row'), td( or_plus_button, save_input, save_button, hidden_fields, submit_button),)
def build_or_row(self): return td( attr(cssc='or_cell', colspan=self.columns_count), input( attr(type="button", value="OR-", onclick="removeOr(this)", style="float: left;")), div(attr(style="padding-top: 0.3em"), 'OR'))
def make_content(self): self.content = [] for value, caption in self.choices: if unicode(value) in self.value: checked = 'checked' else: checked = None self.add( span( input( attr(type='checkbox', checked=checked, name=self.name, value=value)), caption, br()))
def __init__(self, context = None): super(BaseSiteMenu, self).__init__(context) c = self.context if c.has_key('menu'): self.menu_container.add(div(attr(id='main-menu'), c.menu)) if c.get('body_id'): self.body.add(attr(id=c.body_id)) if c.get('headline'): self.main.add(h1(c.headline)) self.right_menu_container.add( input(save(self, 'history_checkbox'), attr(media_files=['/js/history_button.js', '/js/ext/ext-base.js', '/js/ext/ext-all.js'], id='history_checkbox', type='checkbox', onchange='setHistory(this)')), label(attr(for_id='history_checkbox'), _('history')) ) if c.history: self.history_checkbox.checked = ['', 'checked'][c.history]
def _render_col(self, col_num, col): if col.get('icon'): val = img(attr(src=col['icon'])) else: val = col['value'] if col.get('url'): val = a(attr(href=col['url']), val) if col_num == 0: val = span( input( attr( type='checkbox', name='object_selection', value=col.get('value'), cssc='object_selection', ), val)) return td(attr(cssc=col.get('cssc')), val)
def get_submit_row(self, hidden_fields=None): return tr( td(attr(colspan=self.columns_count, cssc='center'), hidden_fields, input(attr(type=u'submit', value=_(u'Save'), name=u'submit'))))
def get_submit_row(self, hidden_fields=None): return tr(td(attr(colspan=self.columns_count, cssc='center'), hidden_fields, input(attr(type=u'submit', value=_(u'Save'), name=u'submit')) ))
def get_submit_row(self): return tr(td(attr(colspan=self.columns_count, cssc='center'), input(attr(type=u'submit', value=self.form.submit_button_text, name=u'submit'))))
def get_submit_row(self): return div(input(attr(type=u'submit', value=u'Save set', name=u'submit')))
def get_submit_row(self): return tr(td( attr(colspan=self.columns_count, cssc='center'), input(attr(type=u'submit', value=u'Save set', name=u'submit'))))
def get_submit_row(self): return div(attr(cssc='center'), input(attr(type=u'submit', value=u'Save', name=u'submit')))
def __init__(self, itertable, *content, **kwd): super(WIterTable, self).__init__(*content, **kwd) self.media_files = [ '/js/logging.js', '/js/itertable.js', '/css/itertable.css', ] self.tag = 'table' self.cssc = 'itertable' self.column_count = len(itertable.header) sort_col_num, sort_direction = itertable.get_sort() header = tr(attr(cssc="wi_header")) for i, htext in enumerate(itertable.header): col_num = i - 1 if col_num == -1: # first column is ID header.add(th(attr(id='id_column_header_cell'), htext)) else: sort_dir = 1 if col_num == sort_col_num and sort_direction: # rendering column, according which is table sorted, so reverse direction for next click on this column sort_dir = 0 th_cell = th( a( attr(href=append_getpar_to_url( add_par_dict={ 'sort_col': col_num, 'sort_dir': sort_dir }, del_par_list=['load', 'show_form'])), htext)) if col_num == sort_col_num: th_cell.cssc = 'sorted ' + ['descending', 'ascending' ][sort_direction] header.add(th_cell) self.add(thead(header)) rows = [] for row_num, irow in enumerate(itertable): row = tr(attr(cssc='row%s' % ((row_num % 2) + 1))) for col_num, col in enumerate(irow): row.add(self._render_col(col_num, col)) rows.append(row) self.add(tbody(rows)) # Pager pager = span() # Numbers of entries if itertable.num_rows_over_limit: num_rows = span(attr(cssc='warning'), itertable.num_rows) else: num_rows = itertable.num_rows if itertable.pagination: result_text = 'Displaying results %s - %s of %s' % ( itertable.page_start, itertable.page_start + itertable.page_rows, num_rows) else: result_text = 'Displaying %s results' % (num_rows) pager.add(span(attr(cssc='pager_text'), noesc(result_text))) if itertable.pagination: if itertable.num_pages > 1: if itertable.current_page == 1: first_button = span( attr(cssc='pager-button'), img( attr( src= '/css/ext/images/default/grid/page-first-disabled.gif' ))) prev_button = span( attr(cssc='pager-button'), img( attr( src= '/css/ext/images/default/grid/page-prev-disabled.gif' ))), else: first_button = a( attr(cssc='pager-button', href='?page=%s' % itertable.first_page), img( attr( src='/css/ext/images/default/grid/page-first.gif' ))), prev_button = a( attr(cssc='pager-button', href='?page=%s' % itertable.prev_page), img( attr( src='/css/ext/images/default/grid/page-prev.gif' ))), if itertable.current_page == itertable.last_page: next_button = span( attr(cssc='pager-button'), img( attr( src= '/css/ext/images/default/grid/page-next-disabled.gif' ))), last_button = span( attr(cssc='pager-button'), img( attr( src= '/css/ext/images/default/grid/page-last-disabled.gif' ))) else: next_button = a( attr(cssc='pager-button', href='?page=%s' % itertable.next_page), img( attr( src='/css/ext/images/default/grid/page-next.gif' ))), last_button = a( attr(cssc='pager-button', href='?page=%s' % itertable.last_page), img( attr( src='/css/ext/images/default/grid/page-last.gif' ))) pager.add( first_button, prev_button, form( attr(style='display: inline;', method='GET'), input( attr(type='text', size='2', name='page', value=itertable.current_page)), ' of %d ' % itertable.last_page), next_button, last_button) self.add(tfoot(tr(td(attr(colspan=self.column_count), pager))))
def __init__(self, itertable, *content, **kwd): super(WIterTable, self).__init__(*content, **kwd) self.media_files = ['/js/logging.js', '/css/itertable.css', ] self.tag = 'table' self.cssc = 'itertable' self.column_count = len(itertable.header) sort_col_num, sort_direction = itertable.get_sort() header = tr(attr(cssc="wi_header")) for i, htext in enumerate(itertable.header): col_num = i - 1 if col_num == -1: # first column is ID header.add(th(htext)) else: sort_dir = 1 if col_num == sort_col_num and sort_direction: # rendering column, according which is table sorted, so reverse direction for next click on this column sort_dir = 0 th_cell = th(a(attr(href=append_getpar_to_url(add_par_dict={'sort_col': col_num, 'sort_dir': sort_dir}, del_par_list=['load', 'show_form'])), htext)) if col_num == sort_col_num: th_cell.cssc = 'sorted ' + ['ascending', 'descending'][sort_direction] header.add(th_cell) self.add(thead(header)) rows = [] for row_num, irow in enumerate(itertable): row = tr(attr(cssc='row%s' % ((row_num % 2) + 1))) for col in irow: if col.get('icon'): val = img(attr(src=col['icon'])) else: val = col['value'] if col.get('url'): val = a(attr(href=col['url']), val) row.add(td(attr(cssc=col.get('cssc')), val)) rows.append(row) self.add(tbody(rows)) # Pager pager = span() # Numbers of entries #if itertable.total_rows > itertable.num_rows: if itertable.num_rows_over_limit: num_rows = span(attr(cssc='warning'), itertable.num_rows) else: num_rows = itertable.num_rows pager.add(span(attr(cssc='pager_text'), noesc('Displaying results %s - %s of %s' % (itertable.page_start, itertable.page_start + itertable.page_rows, num_rows)) # '%s: %s,' % (_('Number_of_pages'), itertable.last_page), # '%s: ' % _('entries'), num_rows, ',', # '%s: %s' % (_('total'), itertable.total_rows), # #br() )) if itertable.num_pages > 1: # pager.add( # a(attr(cssc='pager-button', href='?page=%s' % itertable.first_page), noesc('«')), # a(attr(cssc='pager-button', href='?page=%s' % itertable.prev_page), noesc('‹')), ## a(attr(cssc='pager-button', href='?page=%s' % itertable._number), itertable._number), # form(attr(style='display: inline;', method='GET'), input(attr(type='text', size='2', name='page', value=itertable.current_page))), # a(attr(cssc='pager-button', href='?page=%s' % itertable.next_page), noesc('›')), # a(attr(cssc='pager-button', href='?page=%s' % itertable.last_page), noesc('»')) # ) if itertable.current_page == 1: first_button = span(attr(cssc='pager-button'), img(attr(src='/css/ext/images/default/grid/page-first-disabled.gif'))) prev_button = span(attr(cssc='pager-button'), img(attr(src='/css/ext/images/default/grid/page-prev-disabled.gif'))), else: first_button = a(attr(cssc='pager-button', href='?page=%s' % itertable.first_page), img(attr(src='/css/ext/images/default/grid/page-first.gif'))), prev_button = a(attr(cssc='pager-button', href='?page=%s' % itertable.prev_page), img(attr(src='/css/ext/images/default/grid/page-prev.gif'))), if itertable.current_page == itertable.last_page: next_button = span(attr(cssc='pager-button'), img(attr(src='/css/ext/images/default/grid/page-next-disabled.gif'))), last_button = span(attr(cssc='pager-button'), img(attr(src='/css/ext/images/default/grid/page-last-disabled.gif'))) else: next_button = a(attr(cssc='pager-button', href='?page=%s' % itertable.next_page), img(attr(src='/css/ext/images/default/grid/page-next.gif'))), last_button = a(attr(cssc='pager-button', href='?page=%s' % itertable.last_page), img(attr(src='/css/ext/images/default/grid/page-last.gif'))) pager.add( first_button, prev_button, # a(attr(cssc='pager-button', href='?page=%s' % itertable._number), itertable._number), form(attr(style='display: inline;', method='GET'), input(attr(type='text', size='2', name='page', value=itertable.current_page)), ' of %d ' % itertable.last_page), next_button, last_button ) self.add(tfoot(tr(td(attr(colspan=self.column_count), pager))))
def __init__(self, context = None): super(FilterPage, self).__init__(context) c = self.context lang_code = config.lang[0:2] if lang_code == 'cs': # conversion between cs and cz identifier of lagnguage lang_code = 'cz' self.head.add(script(attr(type='text/javascript'), 'scwLanguage = "%s"; //sets language of js_calendar' % lang_code, 'scwDateOutputFormat = "%s"; // set output format for js_calendar' % config.js_calendar_date_format)) if context.get('form') and (config.debug or not c.get('itertable') or c.get('show_form')): self.main.add(c.form) self.main.add(script(attr(type='text/javascript'), 'Ext.onReady(function () {addFieldsButtons()})')) else: self.main.add(a(attr(href=append_getpar_to_url(add_par_dict={'load': 1, 'show_form': 1})), _('Modify filter'))) if c.get('result'): self.main.add(p(c['result'])) if c.get('itertable'): itertable = c.itertable self.main.add(WIterTable(itertable)) self.main.add(p(_('Table_as'), a(attr(href='?txt=1'), 'TXT'), ',', a(attr(href='?csv=1'), 'CSV'))) if config.debug: self.main.add(br(), br()) header = tr(attr(cssc="header")) for htext in itertable.header: header.add(td(htext)) rows = [header] for irow in itertable: row = tr() for col in irow: if col.get('icon'): val = img(attr(src=col['icon'])) else: val = col['value'] if col.get('url'): val = a(attr(href=col['url']), val) row.add(td(attr(cssc=col.get('cssc')), val)) rows.append(row) self.main.add(table(attr(id='objectlist', media_files='/css/objectlist.css'), rows)) # Numbers of entries if itertable.num_rows_over_limit: num_rows = span(attr(cssc='warning'), itertable.num_rows) else: num_rows = itertable.num_rows pageflip = span( '%s: %s,' % (_('Number_of_pages'), itertable.last_page), '%s: ' % _('entries'), num_rows, ',', br()) # Pager if itertable.num_pages > 1: pageflip.add(div( a(attr(cssc='pager-button', href='?page=%s' % itertable.first_page), noesc('«')), a(attr(cssc='pager-button', href='?page=%s' % itertable.prev_page), noesc('‹')), form(attr(style='display: inline;', method='GET'), input(attr(type='text', size='2', name='page', value=itertable.current_page))), a(attr(cssc='pager-button', href='?page=%s' % itertable.next_page), noesc('›')), a(attr(cssc='pager-button', href='?page=%s' % itertable.last_page), noesc('»')) )) self.main.add(pageflip) if c.get("display_jump_links"): # Display the 'previous' and 'next' links (they auto-submit # the form to display results for the prev./next time interval). jump_links_info = c.get("display_jump_links") self.main.add(div(a( attr( title="Jumps to the previous time period.", href=(jump_links_info['url'] + 'filter/?jump_prev=1&field_name=%s' % jump_links_info['field_name'])), "prev"), a(attr( title="Jumps to the next time period.", href=(jump_links_info['url'] + 'filter/?jump_next=1&field_name=%s' % jump_links_info['field_name'])), "next")))