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
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
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): 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
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)
def __init__(self, context): parent = aq_parent(aq_inner(context)) if IPloneFormGenForm.providedBy(parent): self.context = parent else: self.context = context
def can_hide_request(self): context = aq_inner(self.context) return IPloneFormGenForm.providedBy(context) and IShowRequest.providedBy(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)