;ò ³˜@c@sÖdkZdklZdklZdklZdklZl Z dk l Z l Z dk lZlZdklZlZlZdklZlZd klZlZd klZd fd „ƒYZeeƒdS( N(sInitializeClass(sClassSecurityInfo(sPageTemplateFile(sViews ManagePortal(s getToolByNames expandpath(s FSMetadatasCMFConfigParser(sFormActionTypes FormActionsFormActionContainer(s FormValidatorsFormValidatorContainer(s ANY_CONTEXTs ANY_BUTTON(slogsControllerBasecBs·tZdZeƒZeieƒeiedƒe de ƒƒZ de _eiedƒe de ƒƒZ de _eiedƒd„Z eiedƒd„Zeied ƒd „Zeied ƒd „Zeied ƒd„Zeiedƒd„Zeiedƒd„Zeiedƒd„Zeiedƒd„Zeiedƒd„Zd„Zd„Zd„Zd„Zd„Zeidƒd„ZRS( sACommon functions for objects controlled by portal_form_controllersmanage_formActionsFormswww/manage_formActionsFormsmanage_formValidatorsFormswww/manage_formValidatorsFormslistActionTypescCst|dƒiƒSdS(s(Return a list of available action types.sportal_form_controllerN(s getToolByNamesselfslistActionTypes(sself((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pyslistActionTypes*sslistFormValidatorscKs>t|dƒ}|o|ii|Sn|ii|SdS(syReturn a list of existing validators. Validators can be filtered by specifying required attributes via kwargssportal_form_controllerN(s getToolByNamesselfs controllersoverrides validatorss getFilteredskwargs(sselfsoverrideskwargss controller((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pyslistFormValidators0s slistFormActionscKs>t|dƒ}|o|ii|Sn|ii|SdS(ssReturn a list of existing actions. Actions can be filtered by specifying required attributes via kwargssportal_form_controllerN(s getToolByNamesselfs controllersoverridesactionss getFilteredskwargs(sselfsoverrideskwargss controller((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pyslistFormActions;s slistContextTypescCst|dƒiƒSdS(s:Return list of possible types for template context objectssportal_form_controllerN(s getToolByNamesselfslistContextTypes(sself((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pyslistContextTypesFssmanage_editFormValidatorscCsit|dƒ}|iiddƒo |i}n |i}|i||ƒ|i i |i ƒdƒSdS(s Process form validator edit formsportal_form_controllersoverrideis/manage_formValidatorsFormN( s getToolByNamesselfs controllersREQUESTsformsgets validatorss containers_editFormValidatorssRESPONSEsredirects absolute_url(sselfsREQUESTs containers controller((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pysmanage_editFormValidatorsLs  smanage_addFormValidatorscCsit|dƒ}|iiddƒo |i}n |i}|i||ƒ|i i |i ƒdƒSdS(sProcess form validator add formsportal_form_controllersoverrideis/manage_formValidatorsFormN( s getToolByNamesselfs controllersREQUESTsformsgets validatorss containers_addFormValidatorssRESPONSEsredirects absolute_url(sselfsREQUESTs containers controller((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pysmanage_addFormValidatorsXs  smanage_delFormValidatorscCsit|dƒ}|iiddƒo |i}n |i}|i||ƒ|i i |i ƒdƒSdS(s"Process form validator delete formsportal_form_controllersoverrideis/manage_formValidatorsFormN( s getToolByNamesselfs controllersREQUESTsformsgets validatorss containers_delFormValidatorssRESPONSEsredirects absolute_url(sselfsREQUESTs containers controller((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pysmanage_delFormValidatorsds  smanage_editFormActionscCsit|dƒ}|iiddƒo |i}n |i}|i||ƒ|i i |i ƒdƒSdS(sProcess form action edit formsportal_form_controllersoverrideis/manage_formActionsFormN( s getToolByNamesselfs controllersREQUESTsformsgetsactionss containers_editFormActionssRESPONSEsredirects absolute_url(sselfsREQUESTs containers controller((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pysmanage_editFormActionsps  smanage_addFormActioncCsit|dƒ}|iiddƒo |i}n |i}|i||ƒ|i i |i ƒdƒSdS(sProcess form action add formsportal_form_controllersoverrideis/manage_formActionsFormN( s getToolByNamesselfs controllersREQUESTsformsgetsactionss containers_addFormActionsRESPONSEsredirects absolute_url(sselfsREQUESTs containers controller((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pysmanage_addFormAction|s  smanage_delFormActionscCsit|dƒ}|iiddƒo |i}n |i}|i||ƒ|i i |i ƒdƒSdS(sProcess form action delete formsportal_form_controllersoverrideis/manage_formActionsFormN( s getToolByNamesselfs controllersREQUESTsformsgetsactionss containers_delFormActionssRESPONSEsredirects absolute_url(sselfsREQUESTs containers controller((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pysmanage_delFormActionsˆs  c CsQ|iƒ}|iƒ}|iƒ}t|dt ƒ} | t jo3t|dt ƒ} | ot| dt ƒ} qvn|i ƒ} t |dƒ}t }y|ii||| | ƒ}Wntj onX|t joTy|ii||| | ƒ}Wntj onX|t jo|iƒ}|t joñ|djo&t||ttdd||ƒ}n|t jo­gi} |iid|ƒD]} | t| ƒƒq‘~ }gi} |iid|ƒD]} | t| ƒƒqÍ~ } td ||| | d i|ƒd i| ƒf‚q%q)q-n|i d |ƒ|i!ƒ|ƒSdS( Ns portal_types __class__s__name__sportal_form_controllersfailures traverse_tos string:%ss object_idsKNo next action found for %s.%s.%s.%s Metadata actions: %s ZMI actions: %s s scontroller_state("sselfsgetIdsidscontroller_states getStatussstatuss getContextscontextsgetattrsNones context_types getButtonsbuttons getToolByNames controllers next_actionsactionssmatchs ValueErrors getNextActions FormActions ANY_CONTEXTs ANY_BUTTONsappends_[1]s getFilteredsasstrsmetadata_actionss zmi_actionssjoinsREQUESTssets getAction(sselfscontroller_statesREQUESTs next_actionsmetadata_actionssidsstatusscontexts controllers zmi_actionssas context_typesbuttons_[1]((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pysgetNext“s>          & <<AcCs–g}x8|iiƒD]'}|idƒo|i|ƒqqW|oFt|ƒdjo|id„ƒn|i |dtdƒƒn|SdS(Ns form.button.icCstt|ƒt|ƒƒS(N(scmpslensxsy(sxsy((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pysÅsi( sbuttonssREQUESTsformskeyssks startswithsappendslenssortscontroller_states setButton(sselfscontroller_statesREQUESTsksbuttons((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pys getButton»scCsêt|dƒ}|iƒ}|i|ƒ}|iƒ}t }y4|i i |i ||ƒ}|t j o|SnWntj onXy4|i i |i ||ƒ}|t j o|SnWntj onXt|i ttgƒSdS(Nsportal_form_controller(s getToolByNamesselfs controllerscontroller_states getContextscontexts _getTypeNames context_types getButtonsbuttonsNones validatorssmatchsids ValueErrors FormValidators ANY_CONTEXTs ANY_BUTTON(sselfscontroller_statesREQUESTs context_types controllerscontexts validatorssbutton((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pys getValidatorsÊs$      c Csûtƒ|_t|ƒ}tƒ}t|ƒ}t i i |dƒo³|i |dƒyt |dƒ}Wntj o t}nX|i|dƒ}|tjo h}nxG|iƒD]5\} } | idƒ}x%t|ƒdjo|idƒqØW|ddjotd || f‚n| id d ƒ}x%t|ƒd jo|idƒq:W|d } |oC| o| |iƒj o$td t| ƒt|ƒfƒq³n|ii t!||d |d |d|d|d |ƒƒqºWndS(Ns .metadatasportal_form_controllersactionss.isisactionsg%s: Format for .metadata actions is action.STATUS.CONTEXT_TYPE.BUTTON = ACTION_TYPE:ACTION_ARG (not %s)s:iis'Unknown context type %s for template %si("sFormActionContainersselfsactionss FSMetadatasfilepathsmetadatasCMFConfigParserscfgs expandpathsosspathsexistssreads getToolByNames controllersAttributeErrorsNones_getSectionDictsitemssksvssplits componentslensappends ValueErrorsacts context_typeslistContextTypesslogsstrsidssets FormAction( sselfsidsfilepathscfgsactionssmetadatasacts components controllers context_typesksv((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pys_read_action_metadataàs<         (c Cs¯tƒ|_t|ƒ}tƒ}t|ƒ}t i i |dƒog|i |dƒyt |dƒ}Wntj o t}nX|i|dƒ}|tjo h}nxû|iƒD]é\} } | idƒ}x%t|ƒdjo|idƒqØW|ddjotd|| f‚n|d }|oC|o||iƒj o$td t|ƒt|ƒfƒqyn|iit ||d |d | |ƒƒqºWndS( Ns .metadatasportal_form_controllers validatorss.isisU%s: Format for .metadata validators is validators.CONTEXT_TYPE.BUTTON = LIST (not %s)is'Unknown context type %s for template %si(!sFormValidatorContainersselfs validatorss FSMetadatasfilepathsmetadatasCMFConfigParserscfgs expandpathsosspathsexistssreads getToolByNames controllersAttributeErrorsNones_getSectionDictsitemssksvssplits componentslensappends ValueErrors context_typeslistContextTypesslogsstrsidssets FormValidator( sselfsidsfilepathscfgs validatorssmetadatas components controllers context_typesksv((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pys_read_validator_metadatas4         (swritableDefaultscCsdSdS(s/Can default actions and validators be modified?iN((sself((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pyswritableDefaults+s(s__name__s __module__s__doc__sClassSecurityInfossecuritysdeclareObjectProtectedsViewsdeclareProtecteds ManagePortalsPageTemplateFilesglobalssmanage_formActionsFormsmanage_formValidatorsFormslistActionTypesslistFormValidatorsslistFormActionsslistContextTypessmanage_editFormValidatorssmanage_addFormValidatorssmanage_delFormValidatorssmanage_editFormActionssmanage_addFormActionsmanage_delFormActionssgetNexts getButtons getValidatorss_read_action_metadatas_read_validator_metadatas declarePublicswritableDefaults(((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pysControllerBasesH               (   ' # (sossGlobalssInitializeClasss AccessControlsClassSecurityInfos'Products.PageTemplates.PageTemplateFilesPageTemplateFiles#Products.CMFCore.CMFCorePermissionssViews ManagePortalsProducts.CMFCore.utilss getToolByNames expandpathsProducts.CMFCore.FSMetadatas FSMetadatasCMFConfigParsers FormActionsFormActionTypesFormActionContainers FormValidatorsFormValidatorContainers globalVarss ANY_CONTEXTs ANY_BUTTONsutilsslogsControllerBase(s FSMetadatasControllerBasesFormActionTypeslogsFormValidatorContainers ANY_CONTEXTsCMFConfigParsersClassSecurityInfosInitializeClasss FormActions expandpathsFormActionContainers ManagePortalsPageTemplateFiles FormValidators getToolByNames ANY_BUTTONsossView((sV/mnt/gmirror/ports/www/zope-cmfformcontroller/work/CMFFormController/ControllerBase.pys?s     ÿ