जोड़ने की अनुमति दें मेरे पास एक निपुणता-आधारित कंटेनर है जो एक निपुणता-आधारित आइटम के अंदर है। मुझे बेनामी उपयोगकर्ताओं को कंटेनर के अंदर इस प्रकार की वस्तुओं को जोड़ने की जरूरत है।बेनामी उपयोगकर्ताओं को निपुणता ऑब्जेक्ट्स
<?xml version="1.0"?>
<rolemap>
<permissions>
<permission name="my.package: Add My Type" acquire="True">
<role name="Anonymous"/>
</permission>
</permissions>
</rolemap>
मैं configure.zcml
पर अनुमति की घोषणा की::
मैं पहले से ही निम्नलिखित के साथ एक rolemap.xml
फ़ाइल बनाई
<permission
id="my.package.AddMyType"
title="my.package: Add My Type"
/>
और अंत में मैं इस तरह दृश्य जोड़ने के लिए एक कस्टम कहा:
class MyAddView(dexterity.AddForm):
grok.name('MyType')
grok.require('my.package.AddMyType')
फ़ॉर्म पहले से ही अज्ञात के लिए दिखा रहा है ers लेकिन, जब मैं सेव बटन दबाता हूं तो मुझे लॉगिन फॉर्म पर रीडायरेक्ट किया जाता है।
भी, उपयोगकर्ताओं में लॉग इन भी फॉर्म देखने में सक्षम हैं और ऐसा नहीं होना चाहिए।
मुझे और क्या करना है?
class MyAddView(dexterity.AddForm):
grok.name('MyType')
grok.require('my.package.AddMyType')
def update(self):
# check here if the user is anonymous and raise exception if not
super(AddView, self).update()
def add(self, object):
container = aq_inner(self.context)
addContentToContainer(container, object, checkConstraints=False)
self.immediate_view = container.absolute_url()
यह बेहतर समझने के लिए, आप पर एक नज़र लेने के लिए चाहते हो सकता है: डेविड ग्लिक, जो मुझे निर्देशित करने के लिए