__load__.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # -*- coding: utf-8 -*-
  2. """
  3. demeter load
  4. author:rabin
  5. """
  6. from demeter.web import *
  7. class Load(Base):
  8. KEYS = ('admin',)
  9. def setting(self):
  10. self.search()
  11. self.admin()
  12. def admin(self):
  13. admin = 1
  14. self.data['auth'] = True
  15. if 'admin' in self.data['setting'] and self.data['setting']['admin'] > 0:
  16. self.data['setting']['adminInfo'] = self.service('common').one('manage_admin', id=self.data['setting']['admin'])
  17. if self.data['setting']['adminInfo']:
  18. self.data['setting']['roleInfo'] = self.service('common').one('manage_role', id=self.data['setting']['adminInfo']['role_id'])
  19. else:
  20. #self.redirect('/user/login')
  21. return
  22. self.data['setting']['menuList'] = self.menu()
  23. if self.data['setting']['adminInfo']['id'] == admin:
  24. if 'menu' in self.data['setting']:
  25. del self.data['setting']['menu']
  26. else:
  27. self.data['setting']['menu'] = ['_/', '_/login', '_/main', '_/admin/log_update']
  28. menu = self.data['setting']['roleInfo']['auth'] + ','
  29. for i,j in enumerate(self.data['setting']['menuList'][1]):
  30. m = 0
  31. for n in j[0]:
  32. if n+',' in menu:
  33. l = str(i)+'_'+str(n)
  34. self.data['setting']['menu'].append(l)
  35. self.data['setting']['menu'].append(l + '_update')
  36. m = m + 1
  37. self.data['setting']['menu'] = ',' + ",".join(self.data['setting']['menu'])+','
  38. uri = '_' + self.request.uri + ','
  39. if self.data['setting']['admin'] != admin and uri not in self.data['setting']['menu']:
  40. self.data['auth'] = False
  41. def menu(self):
  42. parent = [['站点设置', '基础设置'],['', '']]
  43. child = [
  44. [['/site/site', '/site/product'],['站点管理', '抢购商品设置']]
  45. ,[['/admin/admin','/admin/role', '/admin/log'],['管理员设置', '管理权限设置', '系统日志']]
  46. ]
  47. return (parent,child)