0

入力フォームの作成にploneformgenを使用しました。[編集]タブを使用してフォームのuwosk.pfg.d2cアダプタを使用して保存されたデータエントリを編集しようとすると、次のエラーが発生します。

<FSControllerPythonScript at /MySite/update_version_on_edit used for /MySite/materials-requirement/material-requirement-form/requirement-for-approval/trial>
    Line 11
    Module Products.CMFEditions.utilities, line 109, in isObjectChanged
    Module Products.CMFEditions.CopyModifyMergeRepositoryTool, line 415, in isUpToDate
    Module Products.CMFEditions.ArchivistTool, line 396, in isUpToDate
    Module Products.CMFEditions.ZVCStorageTool, line 308, in getModificationDate
    Module Products.Archetypes.ExtensibleMetadata, line 455, in modified
    Module Products.Archetypes.BaseObject, line 237, in getField
    Module Products.Archetypes.BaseObject, line 821, in Schema
    Module zope.component.hooks, line 104, in adapter_hook
    Module archetypes.schemaextender.extender, line 146, in cachingInstanceSchemaFactory
    Module archetypes.schemaextender.extender, line 186, in instanceSchemaFactory
    Module plone.memoize.instance, line 51, in memogetter
    Module uwosh.pfg.d2c.extender, line 217, in getFields
    Module uwosh.pfg.d2c.content.dataentry, line 39, in getForm
    Module uwosh.pfg.d2c.content.dataentry, line 53, in getFormAdapter
    Module Products.CMFCore.utils, line 123, in getToolByName
    AttributeError: uid_catalog

このエラーを修正するにはどうすればよいですか。GUIまたはZMIのみを使用するための手順が必要です。私はplone4.1、ploneformgen 1.7.1、d2cアダプター2.1.5を使用しています

4

1 に答える 1

1

CMFEditions との組み合わせで製品が壊れているようです。編集uwosh.pfg.d2c.content.dataentryして先頭にインポートを追加してから、53 行目を変更uid_catalogして別のルートで にアクセスしてください。

最初にファイルを見つける必要があります。スクリプトで検索しuwosh.pfg.d2cますbin/instance。これで卵の位置がわかります。卵内でファイルuwosh/pfg/d2c/content/dataentry.pyを見つけて、エディターで開きます。

先頭に、他のimportステートメントとともに、次の行を追加します。

from zope.app.component.hooks import getSite

そして54行目を変更します(53行目でしたが、一番上に行を追加しました)。それは現在読んでいます:

catalog = getToolByName(self, 'uid_catalog')

どこに変更selfgetSite()て読み取ります:

catalog = getToolByName(getSite(), 'uid_catalog')

この方法での卵の変更は移植できません。サイトのすべてのインストールに対してそうする必要があります。上記の変更がうまくいく場合は、新しいリリースで修正できるように、パッケージの作成者に報告してください。

現在、関連すると思われる問題がパッケージイシュー トラッカーに存在します。問題 7を参照してください。これについてフォローアップできます。または、このパッケージの新しい GitHub イシュー トラッカーにチケットを提出することもできます。

はい、パッケージの作成者である Nathan van Gheem も Stack Overflow に頻繁にアクセスしていますが、彼がここで問題を発見するとは期待しないでください。サポートされている場所で問題を報告すると、より多くの人が問題を見つけて支援できるようになります

于 2012-07-30T07:51:36.653 に答える