| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222 | #!/usr/bin/env python# -*- coding: utf-8 -*-"""    demeter web page    name:work.py    author:rabin"""from __load__ import *class Work(object):	@staticmethod	def init(self, search={}):		if 'set' in self.request.uri:			self.data['work_cur'] = 'set'		else:			self.data['work_cur'] = 'index'		self.data['url'] = Work.url()	@staticmethod	def url():		config = {}		config['index'] = '/work'		config['set'] = '/work/set'		return configclass index_path(Load):	@Web.auth	@Web.setting	def get(self):		mobile = Demeter.checkMobile(self.request)		if mobile:			self.redirect('/device')			return					Work.init(self)		self.data['list'] = self.service('common').list('farm_work', search={'farm_id':self.data['setting']['farm']})		if self.data['list']:			for key, value in enumerate(self.data['list']):				self.data['list'][key]['workdates'] = Demeter.date(value['workdate'], '%Y-%m-%d %H:%M')				category = self.service('common').one('farm_work_category', id=value['category_id'])				self.data['list'][key]['category'] = category['name']				method = self.service('common').one('farm_work_method', id=value['method_id'])				self.data['list'][key]['method'] = method['name']				land = self.service('common').one('farm_work_land', id=value['land_id'])				self.data['list'][key]['land'] = land['name']		self.view("work/index.html")class update_path(Load):	@Web.auth	@Web.setting	def get(self):		id = self.input('id')		self.data['category'] = self.service('common').list('farm_work_category', search={'farm_id':self.data['setting']['farm']})		self.data['method'] = self.service('common').list('farm_work_method', search={'farm_id':self.data['setting']['farm']})		self.data['land'] = self.service('common').list('farm_work_land', search={'farm_id':self.data['setting']['farm']})		self.data['info'] = {}		if id:			self.data['info'] = self.service('common').one('farm_work', id=id)			if self.data['info'] and self.data['info']['workdate']:				self.data['info']['workdate'] = Demeter.date(self.data['info']['workdate'])		self.view("work/update.html")	@Web.auth	@Web.setting	def post(self):		id = self.input('id')		update = {}		update['amount'] = self.input('update_amount')		update['category_id'] = self.input('update_category_id')		update['method_id'] = self.input('update_method_id')		update['land_id'] = self.input('update_land_id')		update['pic'] = self.input('update_pic')		update['workdate'] = self.input('update_workdate')		if not update['category_id']:			self.out(u'请选择劳作类别')			return		if not update['method_id'] or update['method_id'] == '0' or update['method_id'] == 0:			self.out(u'请选择劳作方式')			return		if not update['land_id']:			self.out(u'请选择操作地块')			return		if not update['workdate']:			self.out(u'请选择农事日期')			return		if not update['amount']:			self.out(u'请输入劳作用量')			return		if not update['pic']:			self.out(u'请选择图片')			return		state = self.service('common').update('farm_work', id, update)		self.out('yes', {'state':state})	@Web.auth	@Web.setting	def delete(self):		id = self.input('id')		if not id:			self.out('no')			return		state = self.input('state', False)		state = self.service('common').delete('farm_work', id, state)		self.out('yes', {'state':state})class set_path(Load):	@Web.auth	@Web.setting	def get(self):		Work.init(self)		self.data['category'] = self.service('common').list('farm_work_category', search={'farm_id':self.data['setting']['farm']})		self.data['method'] = self.service('common').list('farm_work_method', search={'farm_id':self.data['setting']['farm']})		self.data['land'] = self.service('common').list('farm_work_land', search={'farm_id':self.data['setting']['farm']})		self.view("work/set.html")class land_update_path(Load):	@Web.auth	@Web.setting	def get(self):		id = self.input('id')		self.data['info'] = {}		if id:			self.data['info'] = self.service('common').one('farm_work_land', id=id)		self.view("work/land_update.html")	@Web.auth	@Web.setting	def post(self):		id = self.input('id')		update = {}		update['name'] = self.input('update_name')		if not update['name']:			self.out(u'请输入地块名称')			return		state = self.service('common').update('farm_work_land', id, update)		self.out('yes', {'state':state})	@Web.auth	@Web.setting	def delete(self):		id = self.input('id')		if not id:			self.out('no')			return		state = self.input('state', False)		state = self.service('common').delete('farm_work_land', id, state)		self.out('yes', {'state':state})class category_update_path(Load):	@Web.auth	@Web.setting	def get(self):		id = self.input('id')		self.data['info'] = {}		if id:			self.data['info'] = self.service('common').one('farm_work_category', id=id)		self.view("work/category_update.html")	@Web.auth	@Web.setting	def post(self):		id = self.input('id')		update = {}		update['name'] = self.input('update_name')		if not update['name']:			self.out(u'请输入农事内容分类名称')			return		state = self.service('common').update('farm_work_category', id, update)		self.out('yes', {'state':state})	@Web.auth	@Web.setting	def delete(self):		id = self.input('id')		if not id:			self.out('no')			return		state = self.input('state', False)		state = self.service('common').delete('farm_work_category', id, state)		self.out('yes', {'state':state})class method_update_path(Load):	@Web.auth	@Web.setting	def get(self):		id = self.input('id')		self.data['category'] = self.input('category')		self.data['info'] = {}		if id:			self.data['info'] = self.service('common').one('farm_work_method', id=id)		self.view("work/method_update.html")	@Web.auth	@Web.setting	def post(self):		id = self.input('id')		update = {}		update['name'] = self.input('update_name')		update['category_id'] = self.input('update_category_id')		if not update['name']:			self.out(u'请输入农事内容名称')			return		if not update['category_id']:			self.out(u'请选择农事分类')			return		state = self.service('common').update('farm_work_method', id, update)		self.out('yes', {'state':state})	@Web.auth	@Web.setting	def delete(self):		id = self.input('id')		if not id:			self.out('no')			return		state = self.input('state', False)		state = self.service('common').delete('farm_work_method', id, state)		self.out('yes', {'state':state})
 |