예제 #1
0
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)
예제 #2
0
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')
예제 #3
0
class ControlPanelForm(RegistryEditForm):

    schema = IwechatSettings
    label = _(u"Wechat control panel")
    description = _(u"Wechat control panel")

    def updateFields(self):
        super(ControlPanelForm, self).updateFields()
예제 #4
0
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)
예제 #5
0
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)
예제 #6
0
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')
예제 #7
0
 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')
예제 #8
0
 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)
예제 #9
0
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')
예제 #10
0
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)
예제 #11
0
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)
예제 #12
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')