|
@@ -0,0 +1,101 @@
|
|
|
+#!/usr/bin/env python
|
|
|
+# -*- coding: utf-8 -*-
|
|
|
+"""
|
|
|
+ demeter web page
|
|
|
+ name:msg.py 消息相关
|
|
|
+ author:rabin
|
|
|
+"""
|
|
|
+from __load__ import *
|
|
|
+
|
|
|
+push = ({'id':'sms', 'name':'短信'}, {'id':'weixin', 'name':'微信'})
|
|
|
+
|
|
|
+class msg_path(Load):
|
|
|
+ @tornado.web.authenticated
|
|
|
+ def get(self):
|
|
|
+ self.common(
|
|
|
+ name = u'消息'
|
|
|
+ ,path = '/msg/msg'
|
|
|
+ ,width = '600'
|
|
|
+ ,height = '600'
|
|
|
+ #,add = False
|
|
|
+ ,edit = False
|
|
|
+ ,full = True
|
|
|
+ ,search = (('farm_id-select-','type_id-select-','content-input-mlike'), (u'选择农场',u'硬件类型', u'消息内容'))
|
|
|
+ ,thead = (u'所属农场', u'消息类型', u'接收人', u'消息内容', u'是否已读',u'发送时间')
|
|
|
+ ,tbody = ('farm','type', 'user', 'content', 'status', 'cdate')
|
|
|
+ ,state = False
|
|
|
+ )
|
|
|
+ self.data['common']['search_farm_id-select-'] = Demeter.config['setting']['farmList']
|
|
|
+ self.data['common']['search_type_id-select-'] = self.service('common').list('msg_type')
|
|
|
+ self.commonList('msg')
|
|
|
+ if self.data['list']:
|
|
|
+ for key, value in enumerate(self.data['list']):
|
|
|
+ farm = self.service('common').one('farm', id=value['farm_id'])
|
|
|
+ self.data['list'][key]['farm'] = farm['name']
|
|
|
+ htype = self.service('common').one('msg_type', id=value['hardware_type'])
|
|
|
+ self.data['list'][key]['type'] = htype['name']
|
|
|
+
|
|
|
+ user = self.service('common').one('farm_user', id=value['uid'])
|
|
|
+ self.data['list'][key]['user'] = user['username']
|
|
|
+
|
|
|
+ if value['status'] == True:
|
|
|
+ self.data['list'][key]['status'] = '已读'
|
|
|
+ else:
|
|
|
+ self.data['list'][key]['device'] = '未读'
|
|
|
+ self.commonView('list')
|
|
|
+
|
|
|
+class msg_update_path(Load):
|
|
|
+ @tornado.web.authenticated
|
|
|
+ def get(self):
|
|
|
+ self.common(
|
|
|
+ path = '/msg/msg'
|
|
|
+ ,label = (u'所属农场',u'发送用户',u'消息类型',u'消息内容',u'消息链接',u'推送')
|
|
|
+ ,update = ('farm_id-select--uid','uid-checkbox--farm_id','msg_type-select-required','content-editor-required','link-input-','push-checkbox-')
|
|
|
+ ,update_msg_type = self.service('common').list('msg_type')
|
|
|
+ ,update_farm_id = Demeter.config['setting']['farmList']
|
|
|
+ ,update_uid = self.service('common').list('farm_user')
|
|
|
+ ,update_push = push
|
|
|
+ )
|
|
|
+ self.commonOne('msg')
|
|
|
+ self.commonView('update')
|
|
|
+ @tornado.web.authenticated
|
|
|
+ def post(self):
|
|
|
+ # 发消息
|
|
|
+ self.commonUpdate('msg')
|
|
|
+ @tornado.web.authenticated
|
|
|
+ def delete(self):
|
|
|
+ self.commonDelete('msg')
|
|
|
+
|
|
|
+class type_path(Load):
|
|
|
+ @tornado.web.authenticated
|
|
|
+ def get(self):
|
|
|
+ self.common(
|
|
|
+ name = u'消息类型'
|
|
|
+ ,path = '/msg/type'
|
|
|
+ ,width = '600'
|
|
|
+ ,height = '300'
|
|
|
+ ,search = (('name-input-mlike',), (u'类型名称',))
|
|
|
+ ,thead = (u'类型名称',u'类型key', u'更新时间')
|
|
|
+ ,tbody = ('name', 'key', 'cdate')
|
|
|
+ ,state = False
|
|
|
+ )
|
|
|
+ self.commonList('msg_type')
|
|
|
+ self.commonView('list')
|
|
|
+
|
|
|
+class type_update_path(Load):
|
|
|
+ @tornado.web.authenticated
|
|
|
+ def get(self):
|
|
|
+ self.common(
|
|
|
+ path = '/msg/type'
|
|
|
+ ,label = (u'类型名称', u'类型key',u'推送')
|
|
|
+ ,update = ('name-input-required', 'key-input-required','push-checkbox-')
|
|
|
+ ,update_push = push
|
|
|
+ )
|
|
|
+ self.commonOne('msg_type')
|
|
|
+ self.commonView('update')
|
|
|
+ @tornado.web.authenticated
|
|
|
+ def post(self):
|
|
|
+ self.commonUpdate('msg_type')
|
|
|
+ @tornado.web.authenticated
|
|
|
+ def delete(self):
|
|
|
+ self.commonDelete('msg_type')
|