• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python form.applyChanges函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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


示例16: handle_change

    def handle_change(self, action, data):

        if data['replyTo'] != self.replyTo:
            self.replyTo = data['replyTo']
            del(data['replyTo'])

        form.applyChanges(self.context, self.form_fields, data)
        self.set_subject_prefix(data['short_name'])
        groupLink = '<a href="{groupUrl}">{groupName}</a>.'.format(
            groupUrl=self.groupInfo.relative_url(),
            groupName=self.groupInfo.name)
        self.status = _('changed-status',
                        'Changed the properties of ${groupLink}.',
                        mapping={'groupLink': groupLink})
开发者ID:groupserver,项目名称:gs.group.properties,代码行数:14,代码来源:change.py


示例17: save_action

    def save_action(self, action, data):
        """Update the context and redirect to its overview page."""
        config = getUtility(IPublisherConfigSet).getByDistribution(self.context)
        if config is None:
            config = getUtility(IPublisherConfigSet).new(
                distribution=self.context,
                root_dir=data["root_dir"],
                base_url=data["base_url"],
                copy_base_url=data["copy_base_url"],
            )
        else:
            form.applyChanges(config, self.form_fields, data, self.adapters)

        self.request.response.addInfoNotification("Your changes have been applied.")
        self.next_url = canonical_url(self.context)
开发者ID:vitaminmoo,项目名称:unnaturalcode,代码行数:15,代码来源:distribution.py


示例18: handle_invite

    def handle_invite(self, action, data):
        form.applyChanges(self.context, self.form_fields, data)

        auditor = Auditor(self.siteInfo, self.groupInfo)
        admin = createObject('groupserver.LoggedInUser', self.context)
        l = '{0}'.format(len(data['aboutText'])) \
            if data['aboutText'] else '0'
        auditor.info(CHANGE_ABOUT, admin, l)

        self.status = _(
            'change-status-success',
            'The About tab on the homepage for '
            '<a href="${groupUrl}">${groupName}</a> has been changed.',
            mapping={'groupUrl': self.groupInfo.relativeURL,
                     'groupName': self.groupInfo.name})
开发者ID:groupserver,项目名称:gs.group.about,代码行数:15,代码来源:changeabout.py


示例19: set_data

    def set_data(self, data):
        assert self.context
        assert self.form_fields

        alteredFields = []
        for datum in getFieldsInOrder(self.interface):
            if datum[0] in data:
                if data[datum[0]] != getattr(self.context, datum[0]):
                    alteredFields.append(datum[0])

        # Create the content folder and object and apply changes.
        folder = GSContentPage(self.context, mode='add', id=data['id'])
        if folder.status['error']:
            retval = u'%s' % folder.status['msg']

        changed = form.applyChanges(folder, self.form_fields, data)

        # All good, so redirect to the edit page.
        if changed:
            url = '%s/edit_page.html' % folder.context.absolute_url(0)
            self.request.response.redirect(url)
            return
        else:
            retval = u'Problem creating page'

        assert retval
        assert type(retval) == unicode
        self.status = retval
开发者ID:groupserver,项目名称:Products.GSContentManager,代码行数:28,代码来源:add_page.py


示例20: handle_save_action

    def handle_save_action(self, action, data):
        if form.applyChanges(self.context, self.form_fields, data,
                             self.adapters):
            zope.event.notify(
                zope.lifecycleevent.ObjectModifiedEvent(self.context))
            zope.event.notify(ploneformbase.EditSavedEvent(self.context))
            self.status = "Changes saved"
        else:
            zope.event.notify(ploneformbase.EditCancelledEvent(self.context))
            self.status = "No changes"

        settings = PageSliderSettings(self.context)
        slides = settings.slides
        index = data.get('index', -1)
        value = {
            'html': data['slide'],
            'overlay': data['overlay'],
            'on_hover': data['on_hover']
        }

        if index == -1:
            slides.append(value)
            index = len(slides) - 1
        else:
            slides[index] = value

        settings.slides = slides

        url = getMultiAdapter((self.context, self.request),
                              name='absolute_url')() + "/@@slider-settings"
        self.request.response.redirect(url)
开发者ID:EricGrivilers,项目名称:collective.easyslider,代码行数:31,代码来源:forms.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python form.setUpEditWidgets函数代码示例发布时间:2022-05-26
下一篇:
Python event.notify函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap