コード例 #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
ファイル: dataentry.py プロジェクト: RedTurtle/uwosh.pfg.d2c
    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
コード例 #3
0
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
コード例 #6
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
コード例 #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)
コード例 #9
0
 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)
コード例 #10
0
 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
コード例 #12
0
 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)
コード例 #13
0
 def can_hide_request(self):
     context = aq_inner(self.context)
     return IPloneFormGenForm.providedBy(context) and IShowRequest.providedBy(context)
コード例 #14
0
 def __init__(self, context):
     parent = aq_parent(aq_inner(context))
     if IPloneFormGenForm.providedBy(parent):
         self.context = parent
     else:
         self.context = context
コード例 #15
0
 def not_order_number_aware(self):
     context = aq_inner(self.context)
     return not IOrderNumberAware.providedBy(context) and IPloneFormGenForm.providedBy(context)
コード例 #16
0
 def not_order_number_aware(self):
     context = aq_inner(self.context)
     return not IOrderNumberAware.providedBy(
         context) and IPloneFormGenForm.providedBy(context)