def update(self): self.execute(None) user = get_current() objects = getattr(self.context.working_group, 'members', []) url = self.request.resource_url(self.context, self.name) batch = Batch(objects, self.request, url=url, default_size=BATCH_DEFAULT_SIZE) batch.target = "#results_proposal_members" + str(self.context.__oid__) len_result = batch.seqlen index = str(len_result) if len_result > 1: index = '*' result_body = render_small_listing_objs( self.request, batch, user) result = {} self.title = _(MEMBERS_MESSAGES[index], mapping={'number': len_result}) values = { 'bodies': result_body, 'batch': batch, 'empty_message': _("No members"), 'empty_icon': 'glyphicon glyphicon-user' } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) result['coordinates'] = {self.coordinates: [item]} return result
def get_similar_questions(self): user = get_current() # text = self.params('text') title = self.params('title') keywords = self.params('keywords') # text = text if text else '' title = title if title else '' keywords = keywords if keywords else [] if not isinstance(keywords, list): keywords = [keywords] if not keywords and not title: # and not text: return {'body': ''} title_keywords = extract_keywords(title) # text_keywords = extract_keywords(text) # keywords.extend(text_keywords[:5]) keywords.extend(title_keywords) result = find_entities( interfaces=[IQuestion], user=user, text_filter={'text_to_search': ', '.join(keywords)}, defined_search=True, generate_text_search=True) result_body = render_small_listing_objs(self.request, list(result)[:30], user) values = {'entities': result_body} body = self.content(args=values, template=self.search_question_template)['body'] return {'body': body}
def update(self): self.execute(None) user = get_current() objects = getattr(self.context.working_group, 'members', []) url = self.request.resource_url(self.context, self.name) batch = Batch(objects, self.request, url=url, default_size=BATCH_DEFAULT_SIZE) batch.target = "#results_proposal_members" + str(self.context.__oid__) len_result = batch.seqlen index = str(len_result) if len_result > 1: index = '*' result_body = render_small_listing_objs(self.request, batch, user) result = {} self.title = _(MEMBERS_MESSAGES[index], mapping={'number': len_result}) values = { 'bodies': result_body, 'batch': batch, 'empty_message': _("No members"), 'empty_icon': 'glyphicon glyphicon-user' } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) result['coordinates'] = {self.coordinates: [item]} return result
def get_similar_ideas(self): user = get_current() # text = self.params('text') title = self.params('title') tree = self.params('tree') # text = text if text else '' title = title if title else '' tree = tree if tree else {} if not isinstance(tree, dict): tree = json.loads(tree) if not tree and not title: # and not text: return {'body': ''} title_keywords = extract_keywords(title) # text_keywords = extract_keywords(text) # keywords.extend(text_keywords[:5]) result = find_entities( interfaces=[Iidea], user=user, metadata_filter={'tree': tree}, text_filter={'text_to_search': ', '.join(title_keywords)}, defined_search=True, generate_text_search=True) result_body = render_small_listing_objs(self.request, list(result)[:30], user) values = {'entities': result_body} body = self.content(args=values, template=self.search_idea_template)['body'] return {'body': body}
def get_similar_questions(self): user = get_current() # text = self.params('text') title = self.params('title') keywords = self.params('keywords') # text = text if text else '' title = title if title else '' keywords = keywords if keywords else [] if not isinstance(keywords, list): keywords = [keywords] if not keywords and not title:# and not text: return {'body': ''} title_keywords = extract_keywords(title) # text_keywords = extract_keywords(text) # keywords.extend(text_keywords[:5]) keywords.extend(title_keywords) result = find_entities( interfaces=[IQuestion], user=user, text_filter={'text_to_search': ', '.join(keywords)}, defined_search=True, generate_text_search=True) result_body = render_small_listing_objs( self.request, list(result)[:30], user) values = {'entities': result_body} body = self.content(args=values, template=self.search_question_template)['body'] return {'body': body}
def update(self): self.execute(None) user = get_current() objects = [obj for obj in self.context.get_sub_nodes() if can_access(user, obj)] objects = sorted( objects, key=lambda e: getattr(e, 'modified_at'), reverse=True) url = self.request.resource_url(self.context, self.name) batch = Batch(objects, self.request, url=url, default_size=BATCH_DEFAULT_SIZE) batch.target = "#results_node_dependencies_" + str(self.context.__oid__) len_result = batch.seqlen index = str(len_result) if len_result > 1: index = '*' self.title = _(WG_MESSAGES[index], mapping={'number': len_result}) result = {} result_body = render_small_listing_objs( self.request, batch, user) values = { 'bodies': result_body, 'batch': batch, 'empty_message': _("No association"), 'empty_icon': 'glyphicon glyphicon-link' } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) result['coordinates'] = {self.coordinates: [item]} return result
def update(self): self.execute(None) user = get_current() objects = [proposal for proposal in self.context.related_proposals if proposal.working_group and 'archived' not in proposal.state and 'censored' not in proposal.state and can_access(user, proposal)] objects = sorted( objects, key=lambda e: getattr(e, 'modified_at'), reverse=True) is_small = True current_is_small = self.params('is_small') if current_is_small is not None: current_is_small = current_is_small.lower() is_small = current_is_small == 'true' elif self.parent or self.request.view_name == self.name: is_small = False url = self.request.resource_url( self.context, self.name, query={'is_small': str(is_small)}) batch = Batch(objects, self.request, url=url, default_size=BATCH_DEFAULT_SIZE) batch.target = "#results_idea_working_groups" + \ str(self.context.__oid__) + \ (is_small and 'is_small' or '') len_result = batch.seqlen index = str(len_result) if len_result > 1: index = '*' self.title = _(WG_MESSAGES[index], mapping={'number': len_result}) result = {} if is_small: result_body = render_small_listing_objs( self.request, batch, user) else: result_body, result = render_listing_objs( self.request, batch, user) values = { 'bodies': result_body, 'batch': batch, 'empty_message': _("No working group created"), 'empty_icon': 'novaideo-icon icon-wg' } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) result['coordinates'] = {self.coordinates: [item]} return result
def update(self): self.execute(None) user = get_current() objects = [ proposal for proposal in self.context.related_proposals if proposal.working_group and 'archived' not in proposal.state and 'censored' not in proposal.state and can_access(user, proposal) ] objects = sorted(objects, key=lambda e: getattr(e, 'modified_at'), reverse=True) is_small = True current_is_small = self.params('is_small') if current_is_small is not None: current_is_small = current_is_small.lower() is_small = current_is_small == 'true' elif self.parent or self.request.view_name == self.name: is_small = False url = self.request.resource_url(self.context, self.name, query={'is_small': str(is_small)}) batch = Batch(objects, self.request, url=url, default_size=BATCH_DEFAULT_SIZE) batch.target = "#results_idea_working_groups" + \ str(self.context.__oid__) + \ (is_small and 'is_small' or '') len_result = batch.seqlen index = str(len_result) if len_result > 1: index = '*' self.title = _(WG_MESSAGES[index], mapping={'number': len_result}) result = {} if is_small: result_body = render_small_listing_objs(self.request, batch, user) else: result_body, result = render_listing_objs(self.request, batch, user) values = { 'bodies': result_body, 'batch': batch, 'empty_message': _("No working group created"), 'empty_icon': 'novaideo-icon icon-wg' } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) result['coordinates'] = {self.coordinates: [item]} return result
def update(self): self.execute(None) user = get_current() objects = [ event for event in self.context.events if 'published' in event.state and can_access(user, event) ] objects = sorted(objects, key=lambda e: getattr(e, 'modified_at'), reverse=True) is_small = True current_is_small = self.params('is_small') if current_is_small is not None: current_is_small = current_is_small.lower() is_small = current_is_small == 'true' elif self.parent or self.request.view_name == self.name: is_small = False url = self.request.resource_url(self.context, self.name, query={'is_small': str(is_small)}) batch = Batch(objects, self.request, url=url, default_size=BATCH_DEFAULT_SIZE) batch.target = "#results_eventobject_events" + \ str(self.context.__oid__) + \ (is_small and 'is_small' or '') len_result = batch.seqlen index = str(len_result) if len_result > 1: index = '*' self.title = _(EVENTS_MESSAGES[index], mapping={'number': len_result}) result = {} if is_small: result_body = render_small_listing_objs(self.request, batch, user) else: result_body, result = render_listing_objs(self.request, batch, user) values = { 'bodies': result_body, 'batch': batch, 'empty_message': _("No organized event"), 'empty_icon': 'glyphicon glyphicon-calendar' } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) result['coordinates'] = {self.coordinates: [item]} return result
def find_entities(self): name = self.params('text_to_search') contents = self.params('checkbox') if contents and not isinstance(contents, (list, tuple)): contents = [contents] if not contents: contents = get_default_searchable_content(self.request) contents = [c[0] for c in contents] if name: states = ['published', 'active'] user = get_current() root = getSite() result = [] if is_all_values_key(name): result = find_entities(metadata_filter={ 'content_types': contents, 'states': states }, user=user) else: result = find_entities(metadata_filter={ 'content_types': contents, 'states': states }, user=user, text_filter={'text_to_search': name}) result_body = render_small_listing_objs(self.request, list(result)[:NBRESULT], user) values = { 'entities': result_body, 'all_url': self.request.resource_url(root, '@@search_result', query={ 'text_to_search': name, 'content_types': contents }), 'advenced_search_url': self.request.resource_url(root, '@@advanced_search') } body = self.content(args=values, template=self.search_template)['body'] return {'body': body} return {'body': ''}
def update(self): self.execute(None) user = get_current() objects = [content for content in self.context.related_ideas if can_access(user, content)] objects = sorted( objects, key=lambda e: getattr(e, 'modified_at'), reverse=True) is_small = True current_is_small = self.params('is_small') if current_is_small is not None: current_is_small = current_is_small.lower() is_small = current_is_small == 'true' elif self.parent or self.request.view_name == self.name: is_small = False url = self.request.resource_url( self.context, self.name, query={'is_small': str(is_small)}) batch = Batch(objects, self.request, url=url, default_size=BATCH_DEFAULT_SIZE) batch.target = "#results_related_ideas" + \ str(self.context.__oid__) + \ (is_small and 'is_small' or '') len_result = batch.seqlen index = str(len_result) if len_result > 1: index = '*' result = {} if is_small: result_body = render_small_listing_objs( self.request, batch, user) else: result_body, result = render_listing_objs( self.request, batch, user) self.title = _(ADDIDEAS_MESSAGES[index], mapping={'number': len_result}) values = { 'bodies': result_body, 'batch': batch } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) result['coordinates'] = {self.coordinates: [item]} return result
def find_entities(self): name = self.params('text_to_search') contents = self.params('checkbox') if contents and not isinstance(contents, (list, tuple)): contents = [contents] if not contents: contents = get_default_searchable_content( self.request) contents = [c[0] for c in contents] if name: states = ['published', 'active'] user = get_current() root = getSite() result = [] if is_all_values_key(name): result = find_entities( metadata_filter={ 'content_types': contents, 'states': states}, user=user) else: result = find_entities( metadata_filter={ 'content_types': contents, 'states': states}, user=user, text_filter={'text_to_search': name}) result_body = render_small_listing_objs( self.request, list(result)[:NBRESULT], user) values = {'entities': result_body, 'all_url': self.request.resource_url( root, '@@search_result', query={'text_to_search': name, 'content_types': contents}), 'advenced_search_url': self.request.resource_url( root, '@@advanced_search')} body = self.content(args=values, template=self.search_template)['body'] return {'body': body} return {'body': ''}
def update(self): self.execute(None) user = get_current() objects = [member for member in self.context.invited_users if can_access(user, member)] objects = sorted( objects, key=lambda e: getattr(e, 'modified_at'), reverse=True) url = self.request.resource_url(self.context, self.name) batch = Batch(objects, self.request, url=url, default_size=BATCH_DEFAULT_SIZE) batch.target = "#results_challenge_members" len_result = batch.seqlen index = str(len_result) if len_result > 1: index = '*' self.title = _(WG_MESSAGES[index], mapping={'number': len_result}) result = {} # if included in another view if self.parent or self.request.view_name == self.name: result_body, result = render_listing_objs( self.request, batch, user) else: result_body = render_small_listing_objs( self.request, batch, user) values = { 'bodies': result_body, 'batch': batch, 'empty_message': _("No participant"), 'empty_icon': 'ion-person-stalker' } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) result['coordinates'] = {self.coordinates: [item]} return result
def update(self): self.execute(None) user = get_current() objects = [ obj for obj in self.context.get_sub_nodes() if can_access(user, obj) ] objects = sorted(objects, key=lambda e: getattr(e, 'modified_at'), reverse=True) url = self.request.resource_url(self.context, self.name) batch = Batch(objects, self.request, url=url, default_size=BATCH_DEFAULT_SIZE) batch.target = "#results_node_dependencies_" + str( self.context.__oid__) len_result = batch.seqlen index = str(len_result) if len_result > 1: index = '*' self.title = _(WG_MESSAGES[index], mapping={'number': len_result}) result = {} result_body = render_small_listing_objs(self.request, batch, user) values = { 'bodies': result_body, 'batch': batch, 'empty_message': _("No association"), 'empty_icon': 'glyphicon glyphicon-link' } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) result['coordinates'] = {self.coordinates: [item]} return result