def render(self, context): ops = [op.resolve(context) for op in self.oplist] meopts = context['me'].operations if context['me'] else [] ar = hasOperation(meopts, ops) if ar != True: from base.siteinfo import get_site mp = get_site().operationsmap raise CheckException(u'需要"%s"权限' % (','.join([mp[k] for k in ar if k in mp]))) return '<!-- %s -->' % (','.join(ops))
def hasOperation(ops, o): from base.siteinfo import get_site site = get_site() if ops == None: return not (isinstance(o, basestring) and o.lower().endswith('_xarea')) else: if type(o) != list: o = o.lower().split('__or__') ar = [] for i in o: ar += i.lower().split('__or__') for i in ar: il = i.lower() if il in ops or il not in site.alloperations: return True return ar
def get_urlqrcode_url_with_site_logo(path): from base.siteinfo import get_site logo = get_site().setting.get('img_web') if logo: logo = wrap_url(logo) return get_urlqrcode_url(path, logo)
def get_urlqrcode_url(path, logo): from base.siteinfo import get_site url = u'%s%s' % (get_site().siteurl, path) return get_qrcode_url(url, logo)
def wrap_url(path): from base.siteinfo import get_site url = u'%s%s' % (get_site().siteurl, path) return url
def site_del_cache(key): from base.siteinfo import get_site newkey = u'site_%s_%s' % (get_site().cachekey, key) return del_cache(newkey)
def site_get_or_set_cache(key, newval, timeout=30): from base.siteinfo import get_site newkey = u'site_%s_%s' % (get_site().cachekey, key) return get_or_set_cache(newkey, newval, timeout)