class InputDonor(InputDonate): """input db donor table data """ label = _(u"Input donor data") fields = field.Fields(IJuanZeng).omit('id', 'openid') def update(self): self.request.set('disable_border', True) super(InputDonor, self).update() @button.buttonAndHandler(_(u"Submit")) def submit(self, action): """Submit model recorder """ data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return funcations = queryUtility(IDbapi, name='juanzeng') locator = queryUtility(IDbapi, name='xiangmu') try: id = data['xiangmu_id'] name = locator.getByCode(id).mingcheng funcations.add(data) except InputError, e: IStatusMessage(self.request).add(str(e), type='error') self.request.response.redirect(self.context.absolute_url() + '/@@donate_listings') confirm = _(u"Thank you! Your data will be update in back end DB.") IStatusMessage(self.request).add(confirm, type='info') url_suffix = '/@@donor_listings?name=%s&id=%s' % (name, id) self.request.response.redirect(self.context.absolute_url() + url_suffix)
class InputDonate(form.Form): """input db donate table data """ label = _(u"Input donate data") fields = field.Fields(IXiangMu).omit('id') ignoreContext = True def update(self): self.request.set('disable_border', True) super(InputDonate, self).update() @button.buttonAndHandler(_(u"Submit")) def submit(self, action): """Submit donate recorder """ data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return funcations = queryUtility(IDbapi, name='xiangmu') try: funcations.add(data) except InputError, e: IStatusMessage(self.request).add(str(e), type='error') self.request.response.redirect(self.context.absolute_url() + '/donate_listings') confirm = _(u"Thank you! Your data will be update in back end DB.") IStatusMessage(self.request).add(confirm, type='info') self.request.response.redirect(self.context.absolute_url() + '/donate_listings')
class ControlPanelForm(RegistryEditForm): schema = IwechatSettings label = _(u"Wechat control panel") description = _(u"Wechat control panel") def updateFields(self): super(ControlPanelForm, self).updateFields()
class DeleteDonor(DeleteDonate): "delete the specify donor recorder" label = _(u"delete donate data") fields = field.Fields(IJuanZeng).omit('id') id = None #receive url parameters def redirectUrl(self): pars = self.request['HTTP_REFERER'].split('?') if len(pars) > 1: urlpars = pars[1] result = fetch_url_parameters(urlpars) if result.has_key('name') and result.has_key('id'): rdurl = "/@@donor_listings/?name={0}&id={1}".format( result['name'], result['id']) else: rdurl = "/@@donate_listings" else: rdurl = "/@@donate_listings" return rdurl def publishTraverse(self, request, name): if self.id is None: self.id = name return self else: raise NotFound() def getContent(self): locator = queryUtility(IDbapi, name='juanzeng') return locator.getByCode(self.id) def update(self): self.request.set('disable_border', True) super(DeleteDonor, self).update() @button.buttonAndHandler(_(u"Delete")) def submit(self, action): """Delete model recorder """ data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return funcations = queryUtility(IDbapi, name='juanzeng') rdurl = self.redirectUrl() try: funcations.DeleteByCode(self.id) except InputError, e: IStatusMessage(self.request).add(str(e), type='error') self.request.response.redirect(self.context.absolute_url() + rdurl) confirm = _(u"Your data has been deleted.") IStatusMessage(self.request).add(confirm, type='info') self.request.response.redirect(self.context.absolute_url() + rdurl)
class IJuanZeng(Interface): """donor 记录在某一慈善项目(did决定)下,所有捐赠记录 | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | xiangmu_id | int(10) unsigned | NO | MUL | NULL | | | xingming | varchar(64) | NO | MUL | | | | xianjin | decimal(13,2) | NO | | 0.00 | | | wuzi | varchar(128) | NO | | | | | wuzi_jiazhi | decimal(13,2) | NO | | 0.00 | | | juanzeng_shijian | datetime | NO | | CURRENT_TIMESTAMP | | | openid | varchar(128) | NO | MUL | noweixin | | | status | tinyint(1) | NO | | 0 | """ id = schema.Int(title=_(u"table primary key"), ) xiangmu_id = schema.Choice( title=_(u"juanzeng xiangmu id"), vocabulary='xtcs.policy.vocabulary.donateId', required=True, ) xingming = schema.TextLine(title=_(u"juanzeng zhe"), ) xianjin = schema.Float(title=_(u"xianjin jin e"), required=False) wuzi = schema.TextLine(title=_(u"juanzeng wuping"), required=False) wuzi_jiazhi = schema.Float(title=_(u"wuzi jiazhi"), required=False) juanzeng_shijian = schema.Datetime(title=_(u"juanzeng shi jian"), defaultFactory=nowDateTime) openid = schema.TextLine(title=_(u"weixin openid"), required=False # default = "noweixinpay" ) status = schema.Int(title=_(u"yidong zhifu zhuangtai"), required=False, default=1)
class UpdateDonate(form.Form): """update model table row data """ implements(IPublishTraverse) label = _(u"update donate data") fields = field.Fields(IXiangMu).omit('id') ignoreContext = False id = None # reset content def getContent(self): locator = queryUtility(IDbapi, name='xiangmu') return locator.getByCode(self.id) def publishTraverse(self, request, name): if self.id is None: self.id = name return self else: raise NotFound() def update(self): self.request.set('disable_border', True) super(UpdateDonate, self).update() @button.buttonAndHandler(_(u"Submit")) def submit(self, action): """Update model recorder """ data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return funcations = queryUtility(IDbapi, name='xiangmu') data['id'] = self.id # data['pk'] = "did" try: funcations.updateByCode(data) except InputError, e: IStatusMessage(self.request).add(str(e), type='error') self.request.response.redirect(self.context.absolute_url() + '/donate_listings') confirm = _(u"Thank you! Your data will be update in back end DB.") IStatusMessage(self.request).add(confirm, type='info') self.request.response.redirect(self.context.absolute_url() + '/donate_listings')
def cancel(self, action): """Cancel the data input """ confirm = _(u"Input cancelled.") IStatusMessage(self.request).add(confirm, type='info') self.request.response.redirect(self.context.absolute_url() + '/donate_listings')
def cancel(self, action): """Cancel the data delete """ confirm = _(u"Delete cancelled.") rdurl = self.redirectUrl() IStatusMessage(self.request).add(confirm, type='info') self.request.response.redirect(self.context.absolute_url() + rdurl)
class DeleteDonate(form.Form): "delete the specify model recorder" implements(IPublishTraverse) label = _(u"delete donate data") fields = field.Fields(IXiangMu).omit('id') ignoreContext = False id = None #receive url parameters def publishTraverse(self, request, name): if self.id is None: self.id = name return self else: raise NotFound() def getContent(self): locator = queryUtility(IDbapi, name='xiangmu') return locator.getByCode(self.id) def update(self): self.request.set('disable_border', True) super(DeleteDonate, self).update() @button.buttonAndHandler(_(u"Delete")) def submit(self, action): """Delete model recorder """ data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return funcations = queryUtility(IDbapi, name='xiangmu') try: funcations.DeleteByCode(self.id) except InputError, e: IStatusMessage(self.request).add(str(e), type='error') self.request.response.redirect(self.context.absolute_url() + '/donate_listings') confirm = _(u"Your data has been deleted.") IStatusMessage(self.request).add(confirm, type='info') self.request.response.redirect(self.context.absolute_url() + '/donate_listings')
class UpdateDonor(DeleteDonor): """update model table row data """ label = _(u"update donor data") fields = field.Fields(IJuanZeng).omit('id', 'xiangmu_id', 'openid') id = None def publishTraverse(self, request, name): if self.id is None: self.id = name return self else: raise NotFound() def getContent(self): locator = queryUtility(IDbapi, name='juanzeng') return locator.getByCode(self.id) def update(self): self.request.set('disable_border', True) super(UpdateDonor, self).update() @button.buttonAndHandler(_(u"Submit")) def submit(self, action): """Update model recorder """ data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return data['id'] = self.id # add self define primary key parameter # data['pk'] = "doid" funcations = queryUtility(IDbapi, name='juanzeng') rdurl = self.redirectUrl() try: funcations.updateByCode(data) except InputError, e: IStatusMessage(self.request).add(str(e), type='error') self.request.response.redirect(self.context.absolute_url() + rdurl) confirm = _(u"Thank you! Your data will be update in back end DB.") IStatusMessage(self.request).add(confirm, type='info') self.request.response.redirect(self.context.absolute_url() + rdurl)
class IXiangMu(Interface): """捐赠项目 mysql> describe xiangmu; id | int(10) unsigned | NO | PRI | NULL | auto_increment | | mingcheng | varchar(64) | NO | MUL | | | | jieshao | varchar(256) | NO | | | | | zhuceshijian | datetime | NO | | CURRENT_TIMESTAMP | | | youxiao | tinyint(1) | NO | | 1 | | +--------------+------------------+------+-----+-------------------+----------------+ """ id = schema.Int(title=_(u"table primary key"), ) mingcheng = schema.TextLine( title=_(u"cishan juanzeng xiangmu mingcheng"), ) jieshao = schema.Text(title=_(u"cishan juanzeng xiangmu beizhu"), required=False) zhuceshijian = schema.Datetime(title=_(u"kaishi shijian"), defaultFactory=nowDateTime) youxiao = schema.Int(title=_(u"shifou keshi?"), default=0)
if errors: self.status = self.formErrorsMessage return funcations = queryUtility(IDbapi, name='xiangmu') try: funcations.DeleteByCode(self.id) except InputError, e: IStatusMessage(self.request).add(str(e), type='error') self.request.response.redirect(self.context.absolute_url() + '/donate_listings') confirm = _(u"Your data has been deleted.") IStatusMessage(self.request).add(confirm, type='info') self.request.response.redirect(self.context.absolute_url() + '/donate_listings') @button.buttonAndHandler(_(u"Cancel")) def cancel(self, action): """Cancel the data delete """ confirm = _(u"Delete cancelled.") IStatusMessage(self.request).add(confirm, type='info') self.request.response.redirect(self.context.absolute_url() + '/donate_listings') class InputDonate(form.Form): """input db donate table data """ label = _(u"Input donate data") fields = field.Fields(IXiangMu).omit('id')