gpt4 book ai didi

plone - 有没有办法将 PloneFormGen 中的当前数据(作为 .csv 文件)附加到邮件程序?

转载 作者:行者123 更新时间:2023-12-01 03:38:26 24 4
gpt4 key购买 nike

我们使用 PloneFormGen 1.7.12 和 Plone 4.3.3。我请求在表单发送的电子邮件中包含当前数据。我们通常允许编辑访问要下载的数据,但他想发送这些数据的人不是编辑,我不想给他们编辑权限。

如果无法将其添加到邮件程序中,我想我可以创建一个角色并为其授予足够的权限,以便经过身份验证的用户下载数据。将经过身份验证的权限复制到新角色并添加 PloneFormGen: Download Saved Input 权限是否可行?我真的不喜欢创造额外的角色。此外,我们还需要为这些人设置帐户。

最佳答案

AFAIK 不是没有编码 :-)

  • 创建一个新的 DataSaveAdapter 内容类型
    最好的方法是从现有的继承并添加一个新字段:
  • from Products.PloneFormGen.content.saveDataAdapter import FormSaveDataAdapter


    SendDataAdapterSchema = FormSaveDataAdapter.schema.copy() + atapi.Schema((
    atapi.StringField(
    name='csv_recipients',
    required=False,
    widget=atapi.LinesWidget(
    label=_(u'label_csv_recipients', default=u'CSV recipients'),
    )
    )
    ))

    class SendDataAdapter(FormSaveDataAdapter):
    implements(IPloneFormGenActionAdapter)
    ...
    schema = SendDataAdapterSchema
    ...
  • SaveDataAdapter 提供了一个 onSuccess方法,您可以在其中挂机并发送电子邮件
  • class SendDataAdapter(FormSaveDataAdapter):
    ...

    def onSuccess(self, fields, REQUEST=None, loopstop=False):
    """ saves input data and initiates mail"""
    super(SendDataAdapter, self).onSuccess(fields, REQUEST, loopstop)
    self.send_csv() # This is where you may implement sending the email.
    当然,它需要一些工作才能完成(注册内容类型等),但这应该为您指明正确的方向。

    关于plone - 有没有办法将 PloneFormGen 中的当前数据(作为 .csv 文件)附加到邮件程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32706457/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com