示例#1
0
 def getForm(self):
     if IPloneFormGenForm.providedBy(self.context):
         return self.context
     parent = aq_parent(aq_inner(self.context))
     if not IPloneFormGenForm.providedBy(parent):
         # might be in a fieldset
         parent = aq_parent(parent)
     return parent
示例#2
0
    def getForm(self):
        adapter = self.getFormAdapter()
        if adapter is None:
            adapter = self.getParentNode()

        form = adapter.getParentNode()
        if not IPloneFormGenForm.providedBy(form):
            form = None
        return form
def setup_data_locker(self):
    """
    Executed on a FormFolder (self) it reconfigures the form to send submissions
    to the Data Locker with an encrypted Mailer fallback option.
    """
    #
    # SETTINGS
    #
    # Copy the `setup_data_locker.settings.dist` file and rename 
    # it `setup_data_locker.settings`. Then define your settings there.
    #
    settings = {
        'data_locker_url': '',
        'delete_existing_action_adapters': False,
        'fallback_recipient_email': '',
        'fallback_recipient_name': '',
        'form_creator': '',
        'notify_on_failure_emails': '',
        'override_existing_setup_check': False,
        }
    #try:
    settings = load_settings(settings)
    #except:
    #    pass
    #import pdb; pdb.set_trace()    


    #
    # WHERE THE MAGIC HAPPENS
    # Warning, there be dragons beyond this point!
    #
    if not IPloneFormGenForm.providedBy(self):
        raise Exception("Must be executed on a PloneFormGen Form object")
    object_ids = [obj.id for obj in self.objectValues()]
    if 'data-locker' in object_ids and not settings['override_existing_setup_check']:
        print "Already setup for the Data Locker: %s" % self.absolute_url()
    else:
        if settings['delete_existing_action_adapters']:
            delete_action_adapters(self)
        elif settings['override_existing_setup_check']:
            delete_action_adapters(self, 'data-locker')
        create_data_locker_adapter(
            self, 
            settings['data_locker_url'], 
            settings['notify_on_failure_emails']
            )
        create_fallback_adapter(
            self, 
            settings['fallback_recipient_email'], 
            settings['fallback_recipient_name']
            )
        if settings['form_creator']:
            change_form_creator(self, settings['form_creator'])
 def _getParentForm(self):
     """
     Gets the IPloneFormGenForm parent of this object.
     """
     parent = self.aq_parent
     while not IPloneFormGenForm.providedBy(parent):
         try:
             parent = parent.aq_parent
         except AttributeError:
             parent = None
             break;
     return parent
示例#5
0
    def form_status(self):
        """
        Returns the status of the form, which can be None (not a form),
        'form' (viewing the form), 'thank-you' (form succesfully submitted),
        or 'error' (form has validation errors).
        """

        if IPloneFormGenForm.providedBy(self.context):
            if 'form_submit' in self.request.form.keys():
                return 'error'
            return 'form'
        elif IPloneFormGenThanksPage.providedBy(self.context):
            return 'thank-you'
        return None
    def form_status(self):
        """
        Returns the status of the form, which can be None (not a form),
        'form' (viewing the form), 'thank-you' (form succesfully submitted),
        or 'error' (form has validation errors).
        """

        if IPloneFormGenForm.providedBy(self.context):
            if 'form_submit' in self.request.form.keys():
                return 'error'
            return 'form'
        elif IPloneFormGenThanksPage.providedBy(self.context):
            return 'thank-you'
        return None
示例#7
0
文件: tracking.py 项目: vwc/fv
 def form_status(self):
     """
     Returns the status of the form, which can be None (not a form),
     'form' (viewing the form), 'thank-you' (form succesfully submitted),
     or 'error' (form has validation errors).
     """
     
     if IPloneFormGenForm.providedBy(self.context):
         request_method = self.request.environ.get('REQUEST_METHOD', 'GET')
         if request_method == 'GET':
             return 'form'
         return 'error'
     elif IPloneFormGenThanksPage.providedBy(self.context):
         return 'thank-you'
     return None
示例#8
0
def rebuild_catalog(obj, event):
    parent = aq_parent(obj)
    while True:
        if not parent or IPloneFormGenForm.providedBy(parent):
            break
        parent = aq_parent(parent)
    if parent is None:
        return
    for name in parent.contentIds():
        sub = parent[name]
        if IPfgSoupAdapter.providedBy(sub):
            try:
                sub.get_soup().rebuild()
            except ComponentLookupError:
                logger.warn('Can not fetch a soup for %s' % obj)
 def show_request(self):
     context = aq_inner(self.context)
     if IPloneFormGenForm.providedBy(context):
         alsoProvides(context, IShowRequest)
         url = '{}/@@edit-show-request'.format(context.absolute_url())
         return self.request.response.redirect(url)
 def can_hide_request(self):
     context = aq_inner(self.context)
     return IPloneFormGenForm.providedBy(
         context) and IShowRequest.providedBy(context)
示例#11
0
 def __init__(self, context):
     parent = aq_parent(aq_inner(context))
     if IPloneFormGenForm.providedBy(parent):
         self.context = parent
     else:
         self.context = context
 def show_request(self):
     context = aq_inner(self.context)
     if IPloneFormGenForm.providedBy(context):
         alsoProvides(context, IShowRequest)
         url = '{}/@@edit-show-request'.format(context.absolute_url())
         return self.request.response.redirect(url)
 def can_hide_request(self):
     context = aq_inner(self.context)
     return IPloneFormGenForm.providedBy(context) and IShowRequest.providedBy(context)
 def __init__(self, context):
     parent = aq_parent(aq_inner(context))
     if IPloneFormGenForm.providedBy(parent):
         self.context = parent
     else:
         self.context = context
 def not_order_number_aware(self):
     context = aq_inner(self.context)
     return not IOrderNumberAware.providedBy(context) and IPloneFormGenForm.providedBy(context)
 def not_order_number_aware(self):
     context = aq_inner(self.context)
     return not IOrderNumberAware.providedBy(
         context) and IPloneFormGenForm.providedBy(context)