def serialize(self, request=None, tag=None): if tag is None: tag = self._xobj.tag if not self.list_fields: return XObjIdModel.serialize(self, request, tag=tag) # We only support one list field right now listField = self.list_fields[0] modelList = getattr(self, listField) if request: modelList = self.filterBy(request, modelList) modelList = self.orderBy(request, modelList) self.paginate(request, listField, modelList) etreeModel = XObjIdModel.serialize(self, request, tag=tag) if self._pagedId is not None: etreeModel.attrib['id'] = self._pagedId return etreeModel
def get_absolute_url(self, request=None, parents=None, model=None, paged=False, startIndex=None, full=None): url = XObjIdModel.get_absolute_url(self, request, parents, model) if url: if paged: limit = request.GET.get('limit', settings.PER_PAGE) url += ';start_index=%s;limit=%s' % (startIndex, limit) if self.order_by: url += ';order_by=%s' % self.order_by if self.filter_by: url += ';filter_by=%s' % urllib.quote(self.filter_by, safe="[],") return url