#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
demeter web page
name:farm.py 农场相关页面
author:rabin
"""
from __load__ import *
class farm_path(Load):
@Web.auth
@Web.setting
def get(self):
self.common(
name = u'农场' #中文名
,path = '/farm/farm' #路径
,width = '600' # 新增页面的宽度
,height = '600' # 新增页面的高度
,search = (('label-1','cdate-time-start','cdate-time-end','name-input-mlike'), (u'日期范围',u'开始时间',u'截止时间',u'农场名称')) #搜索
,thead = (u'农场名称', u'功能列表') #表头
,tbody = ('name', 'func') #表内容
,state = False #启用回收站
)
menu = (
{'name':'基础资料', 'url':'/farm/info'}
,{'name':'网关管理', 'url':'/device/gateway'}
,{'name':'设备管理', 'url':'/device/info'}
,{'name':'农事管理', 'url':'/work/work'}
,{'name':'农事分类', 'url':'/work/category'}
,{'name':'地块管理', 'url':'/work/land'}
,{'name':'批次管理', 'url':'/origin/batch'}
,{'name':'用户管理', 'url':'/farm/user'}
,{'name':'打印机管理', 'url':'/device/printer'}
,{'name':'消息提醒', 'url':'/msg/msg'}
)
self.commonList('farm')
if self.data['list']:
for key, value in enumerate(self.data['list']):
id = str(value['id'])
param = '?farm=' + id + '&search_farm_id-select-=' + id
self.data['list'][key]['func'] = ''
for i in menu:
self.data['list'][key]['func'] = self.data['list'][key]['func'] + ''+i['name']+' '
self.commonView('list')
class farm_update_path(Load):
@Web.auth
@Web.setting
def get(self):
self.common(
path = '/farm/farm'
,label = (u'农场名称',u'农场地址',u'联系人',u'联系电话')
,update = ('name-input-required','address-input-required','master_name-input-required','tel-input-required')
)
self.commonOne('farm')
self.commonView('update')
@Web.auth
@Web.setting
def post(self):
id = self.commonUpdate('farm')
Demeter.config['setting']['farmList'] = self.service('common').list('farm')
class info_path(Load):
@Web.auth
@Web.setting
def get(self):
id = str(Demeter.config['setting']['farm'])
param = '?farm=' + id + '&search_farm_id-select-=' + id
self.common(
path = '/farm/info' + param
,label = (u'农场名称',u'农场图片',u'联系电话',u'农场地址',u'联系人',u'农场介绍')
,update = ('name-input-required','pic-pic-required-1000px*300~450px','tel-input-required','address-input-required','master_name-input-required',u'info-text-required-请输入农场介绍')
)
self.commonOne('farm', id=Demeter.config['setting']['farm'])
self.commonView('set')
@Web.auth
@Web.setting
def post(self):
self.commonUpdate('farm', id=Demeter.config['setting']['farm'])
class user_path(Load):
@Web.auth
@Web.setting
def get(self):
self.common(
name = u'用户'
,path = '/farm/user'
,width = '600'
,height = '400'
,search = (('label-1','cdate-time-start','cdate-time-end','farm_id-select-','name-input-mlike'), (u'日期范围',u'开始时间',u'截止时间','选择农场',u'用户名称'))
,thead = (u'所属农场', u'用户名称', u'绑定列表', u'用户手机号', u'更新时间')
,tbody = ('farm','username','wechat', 'mobile', 'cdate')
,state = True
)
self.data['common']['search_farm_id-select-'] = Demeter.config['setting']['farmList']
self.commonList('farm_user')
if self.data['list']:
for key, value in enumerate(self.data['list']):
farm = self.service('common').one('farm', id=value['farm_id'])
id = str(farm['id'])
self.data['list'][key]['farm'] = farm['name']
param = '?farm=' + id + '&search_uid-input-=' + str(value['id'])
self.data['list'][key]['wechat'] = '点此查看'
self.commonView('list')
class user_update_path(Load):
@Web.auth
@Web.setting
def get(self):
self.common(
path = '/farm/user'
,label = (u'所属农场',u'账号姓名',u'手机号',u'安全码')
,update = ('farm_id-select-required','username-input-required','mobile-input-phone','password-password-')
,update_farm_id = Demeter.config['setting']['farmList']
)
self.commonOne('farm_user')
self.commonView('update')
@Web.auth
@Web.setting
def post(self):
self.commonUpdate('farm_user', '手机号已经被注册', mobile=self.data['update']['mobile'])
@Web.auth
@Web.setting
def delete(self):
self.commonDelete('farm_user')
class user_wechat_path(Load):
@Web.auth
@Web.setting
def get(self):
self.common(
name = u'微信绑定列表'
,path = '/farm/user_wechat'
,width = '600'
,height = '400'
,add = False
,edit = False
,search = (('label-1','cdate-time-start','cdate-time-end','farm_id-select-','uid-input-'), (u'日期范围',u'开始时间',u'截止时间','选择农场',u'用户id'))
,thead = (u'所属农场', u'微信昵称', u'微信openid', u'更新时间', u'封禁')
,tbody = ('farm','nickname','openid', 'cdate', 'ban')
,state = False
)
self.data['common']['search_farm_id-select-'] = Demeter.config['setting']['farmList']
self.commonList('farm_user_wechat')
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']
if value['status'] == True:
self.data['list'][key]['ban'] = '已封禁'
else:
self.data['list'][key]['ban'] = '封禁'
self.commonView('list')
class user_wechat_update_path(Load):
@Web.auth
@Web.setting
def get(self):
self.common(
path = '/farm/user_wechat'
,label = (u'微信昵称',)
,update = ('nickname-input-required',)
,update_farm_id = Demeter.config['setting']['farmList']
)
self.commonOne('farm_user_wechat')
self.commonView('update')
@Web.auth
@Web.setting
def post(self):
self.commonUpdate('farm_user_wechat')
@Web.auth
@Web.setting
def delete(self):
id = self.input('id')
update = {}
update['status'] = self.input('status', True)
self.service('common').update('farm_user_wechat', id, update)
#self.commonDelete('farm_user_wechat')