def get_all_items_from_collection(self, collection_object): items = { "list":[], "object_idx":0, 'total':False } results = self.get_all_batch(collection_object, False) object_idx = self.get_object_idx(results, self.context.getId()) items['object_idx'] = object_idx for obj in results: if obj != None: obj_media = ICanContainMedia(obj.getObject()).getLeadMedia() if obj_media != None: items['list'].append({'url':obj.getURL(),'image_url': obj_media.absolute_url()+'/@@images/image/large', 'object_id': obj.getId(), 'title':obj.Title(), 'description': obj.Description(), 'body': ""}) return items
def build_json_with_list(self, list_items, object_idx, total, is_folder, total_items): items = { 'list':[], 'object_idx':object_idx, 'total': total, 'has_list_images':False, 'view_type': 'regular', 'total_items': 0 } state = getMultiAdapter( (self.context, self.request), name=u'plone_context_state') # Check view type view_type = state.view_template_id() if view_type == "double_view" or view_type == "multiple_view": items["has_list_images"] = True items["view_type"] = view_type items['total_items'] = total_items if is_folder: for obj in list_items: obj_media = ICanContainMedia(obj.getObject()).getLeadMedia() if obj_media != None: schema = self.get_all_fields_object(obj.getObject()) if not items['has_list_images']: items['list'].append({'schema':schema, 'url':obj.getURL(),'image_url': obj_media.absolute_url()+'/@@images/image/large', 'object_id': obj.getId, 'title':obj.Title, 'description': obj.Description, 'body': self.get_object_body(obj.getObject())}) else: items['list'].append({'schema':schema, 'images':self.get_multiple_images(obj.getObject(), view_type), 'url':obj.getURL(),'image_url': obj_media.absolute_url()+'/@@images/image/large', 'object_id': obj.getId, 'title':obj.Title, 'description': obj.Description, 'body': self.get_object_body(obj.getObject())}) else: for obj in list_items: obj_media = ICanContainMedia(obj.getObject()).getLeadMedia() if obj_media != None: schema = self.get_all_fields_object(obj.getObject()) if not items['has_list_images']: items['list'].append({'schema':schema, 'url':obj.getURL(),'image_url': obj_media.absolute_url()+'/@@images/image/large', 'object_id': obj.getId(), 'title':obj.Title(), 'description': obj.Description(), 'body': self.get_object_body(obj)}) else: items['list'].append({'schema':schema, 'images':self.get_multiple_images(obj.getObject(), view_type), 'url':obj.getURL(),'image_url': obj_media.absolute_url()+'/@@images/image/large', 'object_id': obj.getId(), 'title':obj.Title(), 'description': obj.Description(), 'body': self.get_object_body(obj)}) return items