Пример #1
0
    def update(self, record):
        form = self.context
        record = dict(record)
        order = IOrder(form)
        ids = component.getUtility(IIntIds)

        groups = []

        def getFieldData(field, fields):
            fieldId = field.__name__
            if fieldId not in record:
                return
            if IRichText.providedBy(field):
                fields.append((field.title, record.pop(fieldId).text))
            elif IField.providedBy(field):
                fields.append((field.title, record.pop(fieldId)))
                
        fields_nogroup = []

        for grp in order.values():
            if IGroup.providedBy(grp):
                fields = []
                for id in grp.fields:
                    try:
                        field = ids.getObject(id)
                    except (TypeError, KeyError), e:
                        continue
                    fieldId = field.__name__
                    getFieldData(field, fields)
                groups.append((grp.title, fields))
            else:
                getFieldData(grp, fields_nogroup)
Пример #2
0
    def update(self, record):
        form = self.context
        record = dict(record)
        order = IOrder(form)

        groups = []

        def getFieldData(field, fields):
            fieldId = field.__name__
            if IRichText.providedBy(field):
                fields.append((field.title, record.pop(fieldId).text))
            elif IField.providedBy(field):
                fields.append((field.title, record.pop(fieldId)))

        for grp in order.values():
            if IGroup.providedBy(grp):
                fields = []
                for fieldId in grp.fields:
                    field = form.get(fieldId)
                    getFieldData(field, fields)
                groups.append((grp.title, fields))
        fields = []
        for field in order.values():
            getFieldData(field, fields)
        if fields:
            groups.append((u'', fields))
        self.dictionary = groups
Пример #3
0
 def initDataset(self):
     order = IOrder(self.context, None)
     if order is not None:
         contents = order.keys()
         self.container = order
     else:
         contents = self.context.keys()
         self.container = self.context
     self.dataset = removeSecurityProxy(contents)
Пример #4
0
    def initDataset(self):
        order = IOrder(self.context)

        forums = []

        for key, forum in order.items():
            if IForum.providedBy(forum) and checkPermission('zope.View', forum):
                forum = removeSecurityProxy(forum)
                forums.append(forum)

        self.dataset = forums
Пример #5
0
    def update(self):
        model = self.model
        container = self.context

        self.showImage = model.image
        self.url = absoluteURL(container, self.request)

        order = IOrder(container, None)
        if order is not None:
            keys = list(order.keys())
            self.container = order
        else:
            keys = list(container.keys())
            self.container = container

        self.contents = Batch(keys, size=model.pageSize, request=self.request)
Пример #6
0
    def fields(self):
        form = self.context
        order = IOrder(form)
        ids = component.getUtility(IIntIds)

        groupFields = []
        for grp in order.values():
            if IGroup.providedBy(grp):
                for id in grp.fields:
                    try:
                        field = ids.getObject(id)
                    except (TypeError, KeyError), e:
                        continue
                    fieldId = field.__name__
                    if IField.providedBy(field):
                        groupFields.append(fieldId)
Пример #7
0
def entryModifiedHandler(entry, event):
    order = IOrder(removeSecurityProxy(entry.__parent__))
    order.removeItem(entry.__name__)
    order.addItem(entry.__name__)
Пример #8
0
    def update(self):
        if self.updated:
            return

        context = self.context
        request = self.request

        if 'form.buttons.apply' in request:
            self.environ['applyButton'] = True

        elif 'form.buttons.rename' in request:
            if not request.get("ids"):
                IStatusMessage(request).add(
                    _("You didn't specify any ids to rename."), 'warning')
            else:
                interface.alsoProvides(self, IRenameContainerContents)

        elif "form.buttons.delete" in request:
            self.removeObjects()

        elif "form.buttons.copy" in request:
            self.copyObjects()

        elif "form.buttons.cut" in request:
            self.cutObjects()

        elif "form.buttons.paste" in request:
            self.pasteObjects()

        elif "form.buttons.pasteLink" in request:
            self.pasteObjectLinks()

        order = IOrder(context, None)
        if order is not None and IReordable.providedBy(order):
            self.orderButtons = len(order) > 1

            changed = False
            selected = request.get('ids', [])

            if 'form.buttons.moveup' in request:
                changed = order.moveUp(selected)

            elif 'form.buttons.movetop' in request:
                changed = order.moveTop(selected)

            elif 'form.buttons.movedown' in request:
                changed = order.moveDown(selected)

            elif 'form.buttons.movebottom' in request:
                changed = order.moveBottom(selected)

            if changed:
                notifyContainerModified(context)
                IStatusMessage(request).add(
                    _(u'Items order have been changed.'))
        else:
            self.orderButtons = False

        super(ContainerContents, self).update()

        self.setupButtons()

        self.updated = True
Пример #9
0
    def __call__(self):
        order = IOrder(self.context, None)
        if order is not None:
            order.rebuild()

        self.request.response.redirect('context.html')