def _wrapper(*args, **kwd): self = args[0] user = cherrypy.session.get('user', None) if user: utils.details_cache = {} # invalidate details cache nperms = [] if isinstance(objects_nperms, types.StringTypes): onperms = [objects_nperms] else: onperms = objects_nperms for objects_nperm in onperms: nperms.append('%s.%s' % (objects_nperm, self.classname)) if user.check_nperms(nperms, check_type): context = {'message': div()} context['message'].add( p(_("You don't have permissions for this page!"))) if fred.config.debug: context['message'].add( p( 'usernperm = %s,' % user.nperms, br(), 'nperms=%s,' % nperms, br(), 'nperm_type=%s' % check_type, br())) context['message'].add(p( "a tohle to je udelano nejsofistikovanejsim " "decoratorem")) return self._render('error', context) return view_func(*args, **kwd) redir_addr = '/login/?next=%s' % get_current_url(cherrypy.request) raise cherrypy.HTTPRedirect(redir_addr)
def _wrapper(*args, **kwd): self = args[0] user = cherrypy.session.get('user', None) if user: utils.details_cache = {} # invalidate details cache nperms = [] if isinstance(objects_nperms, types.StringTypes): onperms = [objects_nperms] else: onperms = objects_nperms for objects_nperm in onperms: nperms.append('%s.%s' % (objects_nperm, self.classname)) if user.check_nperms(nperms, check_type): context = {'message': div()} context['message'].add( p(_("You don't have permissions for this page!"))) if fred.config.debug: context['message'].add( p('usernperm = %s,' % user.nperms, br(), 'nperms=%s,' % nperms, br(), 'nperm_type=%s' % check_type, br())) return self._render('error', context) return view_func(*args, **kwd) redir_addr = '/login/?next=%s' % get_current_url(cherrypy.request) raise cherrypy.HTTPRedirect(redir_addr)
def make_content(self): self.content = [] detail = utils.get_detail(recoder.u2c(self.object_type), int(self.value)) if self.error_msg: self.add(ErrorList([self.error_msg % detail.handle])) self.add( a( attr(href=f_urls[self.object_type] + 'detail/?id=%s' % self.value), (detail.handle)), br())
def _format_tested_data(self, tested_data, test_handle): addition_to_data = [] if test_handle in ('cz_address_existence', 'contactability', 'send_letter'): data_on_line = ' '.join( [item for item in (tested_data + [addition_to_data]) if item]) addition_to_data.append( a(attr(href='http://www.google.com/#q=' + data_on_line), _('Search on Google'))) return br().join( [item for item in (tested_data + addition_to_data) if item])
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(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")))