site.py 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. # -*- coding: utf-8 -*-
  2. """
  3. demeter web page
  4. name:site.py 站点相关
  5. author:rabin
  6. """
  7. from .__load__ import *
  8. class site_path(Load):
  9. @Web.auth
  10. @Web.setting
  11. def get(self):
  12. self.set(
  13. name = u'站点管理'
  14. ,path = '/site/site'
  15. ,width = '600'
  16. ,height = '600'
  17. ,search = (('label-1','workdate-time-start','workdate-time-end','name-input-mlike'), (u'日期范围',u'开始时间',u'截止时间',u'站点名称'))
  18. ,thead = (u'站点名称', u'快捷功能', u'授权信息', u'授权时间')
  19. ,tbody = ('name', 'func', 'app', 'time')
  20. ,state = True
  21. )
  22. menu = (
  23. {'name':'角色列表', 'url':'/role/role'},
  24. )
  25. self.list('site')
  26. if self.data['list']:
  27. for key, value in enumerate(self.data['list']):
  28. id = str(value['id'])
  29. self.data['list'][key]['time'] = ''
  30. if value['sdate'] or value['edate']:
  31. self.data['list'][key]['time'] = Demeter.date(value['sdate']) + ' 至 ' + Demeter.date(value['edate'])
  32. self.data['list'][key]['app'] = u'[appid]:' + value['appid'] + u'<br />[appsecret]:' + value['appsecret']
  33. param = '?search_site_id-select-=' + id
  34. self.data['list'][key]['func'] = ''
  35. for i in menu:
  36. self.data['list'][key]['func'] = self.data['list'][key]['func'] + '<a href="'+i['url']+''+param+'">'+i['name']+'</a>&nbsp;&nbsp;&nbsp;&nbsp;'
  37. self.show('list')
  38. class site_update_path(Load):
  39. @Web.auth
  40. @Web.setting
  41. def get(self):
  42. self.set(
  43. path = '/site/site'
  44. ,label = (u'站点名称',u'站点网址',u'通知接口',u'开始时间', u'结束时间')
  45. ,update = ('name-input-required','link-input-required','api-input-required','sdate-date-required','edate-date-required')
  46. )
  47. self.one('site')
  48. self.show('update')
  49. @Web.auth
  50. @Web.setting
  51. def post(self):
  52. id = self.input('id')
  53. if not id:
  54. self.getAppId()
  55. else:
  56. info = self.service('common').one('site', id=id)
  57. if not info['appid'] or not info['appsecret']:
  58. self.getAppId()
  59. self.update('site')
  60. @Web.auth
  61. @Web.setting
  62. def delete(self):
  63. self.drop('site')
  64. @Web.auth
  65. @Web.setting
  66. def getAppId(self):
  67. self.data['update']['appid'] = Demeter.compressUuid(Demeter.uuid('convert'))
  68. self.data['update']['appsecret'] = Demeter.hash()
  69. model = Demeter.model('site')
  70. model.appid = self.data['update']['appid']
  71. model.appsecret = self.data['update']['appsecret']
  72. info = model.select(type='fetchone')
  73. if info:
  74. self.getAppId()