当前位置: 首页>>代码示例>>Python>>正文


Python form.applyChanges函数代码示例

本文整理汇总了Python中zope.formlib.form.applyChanges函数的典型用法代码示例。如果您正苦于以下问题:Python applyChanges函数的具体用法?Python applyChanges怎么用?Python applyChanges使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了applyChanges函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: set_data

    def set_data(self, data):
        assert self.folder
        assert self.form_fields
        assert self.versionForChange
        assert self.auditor
        assert data

        nvId = new_version_id()
        while nvId in self.folder.objectIds():
            nvId = new_version_id()
        newVersion = new_version(self.folder, nvId)
        fields = self.form_fields.omit('id', 'parentVersion',
          'editor', 'creationDate')
        form.applyChanges(newVersion, fields, data)
        newVersion.parentVersion = to_ascii(self.versionForChange.id)
        userInfo = createObject('groupserver.LoggedInUser',
          self.folder)
        newVersion.editor = to_unicode_or_bust(userInfo.id)

        i, s = self.get_auditDatums(self.versionForChange,
          newVersion)
        self.auditor.info(EDIT_CONTENT, i, s)

        # Handle publishing here
        if data['published']:
            self.folder.published_revision = newVersion.id
        self.status = '%s %s' % \
          ('Published' if data['published'] else 'Changed',
           data['title'])
        assert self.status
开发者ID:groupserver,项目名称:Products.GSContentManager,代码行数:30,代码来源:edit_page.py

示例2: create

 def create(self, data):
     query = createObject(u"collective.cmisquery.CMISQuery")
     content = self.context.add(query)
     # We need to add the content before editing it, in order to
     # have a working reference: we would get not yet overwise.
     applyChanges(content, self.form_fields, data)
     return content
开发者ID:collective,项目名称:collective.cmisquery,代码行数:7,代码来源:forms.py

示例3: createAndAdd

    def createAndAdd(self, data):
        domain_model = self.domain_model
        # create the object, inspect data for constructor args
        try:
            ob = createInstance(domain_model, data)
        except TypeError:
            ob = domain_model()

        # apply any context values
        self.finishConstruction(ob)

        # apply extra form values
        form.applyChanges(ob, self.form_fields, data, self.adapters)

        # save the object, id is generated by db on flush
        self.context[""] = ob

        # flush so we have database id
        bungeni.alchemist.Session().flush()

        # fire an object created event
        notify(ObjectCreatedEvent(ob))

        # signal to add form machinery to go to next url
        self._finished_add = True

        mapper = orm.object_mapper(ob)

        # TODO single primary key (need changes to base container)
        oid = mapper.primary_key_from_instance(ob)

        # retrieve the object with location and security information
        return self.context[oid]
开发者ID:BenoitTalbot,项目名称:bungeni-portal,代码行数:33,代码来源:ui.py

示例4: handle_create_shipment

    def handle_create_shipment( self, action, data ):
        items = self.selection_column.getSelected( self.line_items, self.request )
        if not items:
            self.status = _(u"Please Select Items to Ship")
            return
        
        o_shipment = shipment.Shipment()
        
        order = self.context._object
        # this gets attached normally via the warehouse
        # event subscriber, we do it lazy here for existing orders
        if getattr( order, 'shipments', None) is None:
            order.shipments = shipment.OrderShipments()

        # modify shipment with supplied form fields
        adapters = { IShipment : o_shipment }
        form.applyChanges( None, self.form_fields, data, adapters )

        # store shipment
        sid = str( len( order.shipments ) + 1 )
        order.shipments[ sid ] = o_shipment

        # populate shipment with items
        for i in items:
            o_shipment[ i.item_id ] = i.clone()
            i.fulfillment_workflow.fireTransition('ship')

        # attempt to transition order
        self.transitionOrder()

        # clear manager item cache and fetch
        self.status = _(u"Shipment Created")
        self.update()
开发者ID:collective,项目名称:getpaid.warehouse,代码行数:33,代码来源:fulfillment.py

示例5: createAndAdd

    def createAndAdd(self, data):
        # use aq_inner, or else the obj will be wrapped in this view,
        # will screw up acquired security settings (esp. local roles)
        context = aq_inner(self.context)
        plone_utils = getToolByName(context, 'plone_utils')
        list_id = plone_utils.normalizeString(data['title'])

        context.invokeFactory(self.portal_type, list_id)
        list_ob = context._getOb(list_id)

        old_list_type = list_ob.list_type.list_marker
        new_list_type = data.get('list_type').list_marker

        form.applyChanges(list_ob, self.form_fields, data)

        # ensure correct role is set for users
        self._assign_local_roles_to_managers(list_ob)
        
        # XXX this ObjectCreatedEvent event would normally come before
        # the ObjectAddedEvent
        notify(zope.app.event.objectevent.ObjectCreatedEvent(list_ob))
        notify(ListTypeChanged(list_ob, old_list_type, new_list_type))
        self._finished_add = True

        status = IStatusMessage(self.request)
        status.addStatusMessage(_('Mailing list added.'), type=u'info')

        self._next_url = list_ob.absolute_url()

        return list_ob
开发者ID:socialplanning,项目名称:opencore-listen,代码行数:30,代码来源:mailinglist_views.py

示例6: submit

 def submit(self, action, data):
     """
     """
     wvconfig = IWeblogConfiguration(self.context)
     form.applyChanges(wvconfig, self.form_fields, data)
     msg = _(u'Configuration saved.')
     IStatusMessage(self.request).addStatusMessage(msg, type='info')
开发者ID:collective,项目名称:quills.core,代码行数:7,代码来源:weblogconfig.py

示例7: create

 def create(self, data):
     """ Create
     """
     name = INameChooser(self.context).chooseName(data.get('title', ''),
                                                  None)
     ob = AnalyticsReport(id=name)
     applyChanges(ob, self.form_fields, data)
     return ob
开发者ID:eea,项目名称:eea.google,代码行数:8,代码来源:browser.py

示例8: add_profile_attributes

 def add_profile_attributes(self, userInfo, data):
     addFields = AddFields(self.context)
     enforce_schema(userInfo.user, addFields.profileInterface)
     f = form.Fields(addFields.adminInterface, render_context=False)
     fields = f.select(*addFields.profileFieldIds)
     for field in fields:
         field.interface = addFields.profileInterface
     form.applyChanges(userInfo.user, fields, data)
开发者ID:groupserver,项目名称:gs.group.member.add.base,代码行数:8,代码来源:adder.py

示例9: create

    def create(self, data):
        ob = NewsItem()

        title = data.get('title', 'stire')
        uid = INameChooser(self.context).chooseName(title, ob)
        setattr(ob, '_tmp_id', uid)
        applyChanges(ob, self.form_fields, data)
        return ob
开发者ID:avoinea,项目名称:stiamro,代码行数:8,代码来源:browser.py

示例10: add_profile_attributes

    def add_profile_attributes(self, userInfo, data):
        enforce_schema(userInfo.user, self.inviteFields.profileInterface)
        fields = self.form_fields.select(*self.inviteFields.profileFieldIds)
        for field in fields:
            field.interface = self.inviteFields.profileInterface

        form.applyChanges(userInfo.user, fields, data)
        # wpb: Why not use self.set_delivery?
        set_digest(userInfo, self.groupInfo, data)
开发者ID:groupserver,项目名称:gs.group.member.invite.base,代码行数:9,代码来源:processor.py

示例11: handle_change

 def handle_change(self, action, data):
     ctx = get_the_actual_instance_from_zope(self.context)
     form.applyChanges(ctx, self.form_fields, data)
     auditor = ChangeAuditor(ctx)
     auditor.info(CHANGE, str(len(data['introduction'])))
     self.status = _(
         'change-success',
         'The introduction text that appears on '
         '<a href="/">the site homepage</a> has been '
         'changed.')
开发者ID:groupserver,项目名称:gs.site.about,代码行数:10,代码来源:change.py

示例12: handle_add_warehouse

 def handle_add_warehouse( self, action, data ):
     adapters = { interfaces.IWarehouse : warehouse.Warehouse(),
                  interfaces.IAddress   : Address() }
                  
     form.applyChanges( self.context, self.form_fields, data, adapters )
     
     container = component.getUtility( interfaces.IWarehouseContainer )
     w = adapters[ interfaces.IWarehouse ]
     w.location = adapters[ interfaces.IAddress ]
     container[ w.name ] = w
     self.request.response.redirect('@@pgp-view-warehouse?wid=%s'% w.name )
开发者ID:collective,项目名称:getpaid.warehouse,代码行数:11,代码来源:warehouse.py

示例13: handle_edit_save_and_view

 def handle_edit_save_and_view(self, action, data):
     """Saves the  document and redirects to its view page"""
     for key in data.keys():
         if isinstance(data[key], str): 
             data[key] = unescape(data[key])
 	form.applyChanges(self.context, self.form_fields, data)
     if not self._next_url:
         self._next_url = ui_utils.url.absoluteURL(
             self.context, self.request) + \
             '?portal_status_message= Saved'
     self.request.response.redirect(self._next_url)
开发者ID:BenoitTalbot,项目名称:bungeni-portal,代码行数:11,代码来源:common.py

示例14: handle_edit_action

 def handle_edit_action(self, action, data):
     CheckAuthenticator(self.request)
     if not self.available():
         self.status = _(u'text_not_allowed_manage_server',
                         default=u'You are not allowed to manage the Zope server.')
         return
     form.applyChanges(self.context, self.form_fields, data, self.adapters)
     value = data.get('days', None)
     # skip the actual pack method in tests
     if value is not None and isinstance(value, int) and value >= 0:
         context = aq_inner(self.context)
         cpanel = context.unrestrictedTraverse('/Control_Panel')
         cpanel.manage_pack(days=value, REQUEST=None)
     self.status = _(u'Packed the database.')
开发者ID:espenmn,项目名称:plone.app.controlpanel,代码行数:14,代码来源:maintenance.py

示例15: actual_handle_set

    def actual_handle_set(self, action, data):
        groupsToJoin = None
        if 'joinable_groups' in data.keys():
            groupsToJoin = data.pop('joinable_groups')

        fields = self.form_fields.omit('joinable_groups')
        for field in fields:
            field.interface = self.registerInterface
        form.applyChanges(self.context, fields, data)

        if groupsToJoin and self.user_has_verified_email:
            self.join_groups(groupsToJoin)
        elif groupsToJoin:
            self.invite_groups(groupsToJoin)
开发者ID:groupserver,项目名称:gs.profile.signup.base,代码行数:14,代码来源:changeprofile.py


注:本文中的zope.formlib.form.applyChanges函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。