def update(self): self.execute(None) try: navbars = generate_navbars(self, self.context, self.request) except ObjectRemovedException: return HTTPFound(self.request.resource_url(getSite(), '')) result = {} user = get_current() related_cinema_review = find_related_cinema_review(self.context) related_cinema_review = [a for a in related_cinema_review] reviews_bodies = [] for obj in related_cinema_review: object_values = { 'object': obj, 'current_user': user, 'state': get_states_mapping(user, obj, getattr(obj, 'state_or_none', [None])[0]) } body = self.content(args=object_values, template=obj.templates['default'])['body'] reviews_bodies.append(body) values = { 'object': self.context, 'reviews_bodies': reviews_bodies, 'state': get_states_mapping( user, self.context, getattr(self.context, 'state_or_none', [None])[0]), 'navbar_body': navbars['navbar_body'], 'sync_operation': 'address_coordinates_synchronizing', 'url': self.request.resource_url(self.context, '@@culturaleventmanagement'), 'get_oid': get_oid } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) item['messages'] = navbars['messages'] item['isactive'] = navbars['isactive'] result.update(navbars['resources']) result.update(self.requirements) result['coordinates'] = {self.coordinates: [item]} return result
def update(self): self.execute(None) try: navbars = generate_navbars(self, self.context, self.request) except ObjectRemovedException: return HTTPFound(self.request.resource_url(getSite(), '')) result = {} user = get_current() sites = self.context.sites result_sitesbody = [] for obj in sites: object_values = {'object': obj} body = self.content(args=object_values, template=obj.templates['default'])['body'] result_sitesbody.append(body) services = self.context.services result_servicesbody = [] for obj in services: object_values = {'object': obj, 'state': get_states_mapping(user, obj, getattr(obj, 'state_or_none', [None])[0])} body = self.content(args=object_values, template=obj.templates['default'])['body'] result_servicesbody.append(body) result_ordersbody = [] for obj in self.context.orders: object_values = {'object': obj, 'state': get_states_mapping(user, obj, getattr(obj, 'state_or_none', [None])[0])} body = self.content(args=object_values, template=obj.templates['default'])['body'] result_ordersbody.append(body) values = {'navbar_body': navbars['navbar_body'], 'row_len_services': math.ceil(len(services)/4), 'row_len_sites': math.ceil(len(sites)/6), 'services': result_servicesbody, 'orders': result_ordersbody, 'sites': result_sitesbody} body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) item['messages'] = navbars['messages'] item['isactive'] = navbars['isactive'] result.update(navbars['resources']) result['coordinates'] = {self.coordinates: [item]} return result
def update(self): self.execute(None) try: navbars = generate_navbars(self, self.context, self.request) except ObjectRemovedException: return HTTPFound(self.request.resource_url(getSite(), '')) result = {} user = get_current() related_contents, len_contents = self.get_related_contents(user) values = { 'object': self.context, 'state': get_states_mapping(user, self.context, self.context.state[0]), 'related_contents': related_contents, 'len_contents': len_contents, 'navbar_body': navbars['navbar_body'], 'actions_bodies': navbars['body_actions'], 'footer_body': navbars['footer_body'], 'get_oid': get_oid, 'is_portalmanager': has_role(user=user, role=('PortalManager', )) } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) item['messages'] = navbars['messages'] item['isactive'] = navbars['isactive'] result.update(navbars['resources']) result['coordinates'] = {self.coordinates: [item]} return result
def get_related_contents(self, user): interfaces = get_subinterfaces(IBaseReview) interfaces.extend([ICulturalEvent, IFilmSynopses]) objects = find_entities( user=user, interfaces=interfaces, metadata_filter={'states': ['published']}, contribution_filter={'artists_ids': [self.context]}, include_site=True, sort_on='release_date', reverse=True) batch = Batch([o for o in objects], self.request, default_size=core.BATCH_DEFAULT_SIZE) batch.target = "#results_contents" len_result = batch.seqlen result_body = [] for obj in batch: render_dict = {'object': obj, 'current_user': user, 'state': get_states_mapping(user, obj, getattr(obj, 'state_or_none', [None])[0])} body = self.content(args=render_dict, template=obj.templates['default'])['body'] result_body.append(body) values = {'bodies': result_body, 'batch': batch} contents_body = self.content( args=values, template=self.related_contents_template)['body'] return ((result_body and contents_body) or None), len_result
def update(self): self.execute(None) try: navbars = generate_navbars(self, self.context, self.request) except ObjectRemovedException: return HTTPFound(self.request.resource_url(getSite(), '')) result = {} user = get_current() site = get_site_folder(True) add_participants_view = False if not any(s in ('editable', 'rejected', 'submitted', 'prepublished') for s in self.context.state): add_participants_view = has_any_roles(roles=(('GameResponsible', site), 'Admin')) values = { 'object': self.context, 'state': get_states_mapping( user, self.context, getattr(self.context, 'state_or_none', [None])[0]), 'navbar_body': navbars['navbar_body'], 'add_participants_view': add_participants_view } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) item['messages'] = navbars['messages'] item['isactive'] = navbars['isactive'] result.update(navbars['resources']) result['coordinates'] = {self.coordinates: [item]} return result
def get_related_contents(self, user, interface): lac_catalog = find_catalog('lac') venue_index = lac_catalog['object_venue'] query = venue_index.any([self.context.get_id()]) objects = find_entities( user=user, interfaces=[interface], metadata_filter={'states': ['published']}, add_query=query, include_site=True) batch = Batch(objects, self.request, default_size=core.BATCH_DEFAULT_SIZE) batch.target = "#results_contents"+str(interface.__name__) len_result = batch.seqlen result_body = [] for obj in batch: render_dict = {'object': obj, 'current_user': user, 'state': get_states_mapping(user, obj, getattr(obj, 'state_or_none', [None])[0])} body = self.content(args=render_dict, template=obj.templates['default'])['body'] result_body.append(body) values = {'bodies': result_body, 'batch': batch} contents_body = self.content( args=values, template=self.related_events_template)['body'] return ((result_body and contents_body) or None), len_result
def get_related_contents(self, user, interface): lac_catalog = find_catalog('lac') venue_index = lac_catalog['object_venue'] query = venue_index.any([self.context.get_id()]) objects = find_entities(user=user, interfaces=[interface], metadata_filter={'states': ['published']}, add_query=query, include_site=True) batch = Batch(objects, self.request, default_size=core.BATCH_DEFAULT_SIZE) batch.target = "#results_contents" + str(interface.__name__) len_result = batch.seqlen result_body = [] for obj in batch: render_dict = { 'object': obj, 'current_user': user, 'state': get_states_mapping(user, obj, getattr(obj, 'state_or_none', [None])[0]) } body = self.content(args=render_dict, template=obj.templates['default'])['body'] result_body.append(body) values = {'bodies': result_body, 'batch': batch} contents_body = self.content( args=values, template=self.related_events_template)['body'] return ((result_body and contents_body) or None), len_result
def update(self): self.execute(None) try: navbars = generate_navbars(self, self.context, self.request) except ObjectRemovedException: return HTTPFound(self.request.resource_url(getSite(), '')) result = {} user = get_current() site = get_site_folder(True, self.request) diff_marker = "#diff" values = { 'object': self.context, 'state': get_states_mapping( user, self.context, getattr(self.context, 'state_or_none', [None])[0]), 'navbar_body': navbars['navbar_body'], 'services_body': navbars['services_body'], 'footer_body': navbars['footer_body'], 'is_portalmanager': has_role(user=user, role=('PortalManager',)), 'tree_diff': json.dumps( tree_diff(site.tree, self.context.tree, diff_marker)), 'diff_marker': diff_marker } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) item['messages'] = navbars['messages'] item['isactive'] = navbars['isactive'] result.update(navbars['resources']) result.update(self.requirements) result['coordinates'] = {self.coordinates: [item]} return result
def update(self): self.execute(None) try: navbars = generate_navbars(self, self.context, self.request) except ObjectRemovedException: return HTTPFound(self.request.resource_url(getSite(), '')) result = {} user = get_current() related_contents, len_contents = self.get_related_contents(user) values = { 'object': self.context, 'state': get_states_mapping(user, self.context, self.context.state[0]), 'related_contents': related_contents, 'len_contents': len_contents, 'navbar_body': navbars['navbar_body'], 'actions_bodies': navbars['body_actions'], 'footer_body': navbars['footer_body'], 'get_oid': get_oid, 'is_portalmanager': has_role(user=user, role=('PortalManager',)) } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) item['messages'] = navbars['messages'] item['isactive'] = navbars['isactive'] result.update(navbars['resources']) result['coordinates'] = {self.coordinates: [item]} return result
def get_related_contents(self, user): interfaces = get_subinterfaces(IBaseReview) interfaces.extend([ICulturalEvent, IFilmSynopses]) objects = find_entities( user=user, interfaces=interfaces, metadata_filter={'states': ['published']}, contribution_filter={'artists_ids': [self.context]}, include_site=True, sort_on='release_date', reverse=True) batch = Batch([o for o in objects], self.request, default_size=core.BATCH_DEFAULT_SIZE) batch.target = "#results_contents" len_result = batch.seqlen result_body = [] for obj in batch: render_dict = { 'object': obj, 'current_user': user, 'state': get_states_mapping(user, obj, getattr(obj, 'state_or_none', [None])[0]) } body = self.content(args=render_dict, template=obj.templates['default'])['body'] result_body.append(body) values = {'bodies': result_body, 'batch': batch} contents_body = self.content( args=values, template=self.related_contents_template)['body'] return ((result_body and contents_body) or None), len_result
def update(self): self.execute(None) user = get_current() filter_form, filter_data = self._add_filter(user) content_types = ['cultural_event', 'venue', 'artist'] args = {'metadata_filter': {'content_types': content_types}} args = merge_with_filter_view(self, args) args['request'] = self.request if not args.get('metadata_filter', {}).get('content_types', []): metadata_filter = args.get('metadata_filter', {}) metadata_filter['content_types'] = content_types args['metadata_filter'] = metadata_filter args['metadata_filter']['states'] = ['published'] objects = find_entities(user=user, sort_on='object_title', reverse=False, include_site=True, **args) url = self.request.resource_url(self.context, 'allduplicates') def condition(obj): """Batch condition""" return obj.get_duplicates() batch = ConditionalBatch( condition, objects, self.request, url=url, default_size=15) batch.target = "#results_contents" len_result = batch.seqlen index = str(len_result) if len_result > 1: index = '*' self.title = _(CONTENTS_MESSAGES[index], mapping={'nember': len_result}) filter_data['filter_message'] = self.title filter_body = self.filter_instance.get_body(filter_data) result_body = [] for obj in batch: render_dict = {'object': obj, 'current_user': user, 'state': get_states_mapping(user, obj, getattr(obj, 'state_or_none', [None])[0])} body = self.content(args=render_dict, template=obj.templates['duplicates'])['body'] result_body.append(body) result = {} values = {'bodies': result_body, 'batch': batch, 'filter_body': filter_body} body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) result['coordinates'] = {self.coordinates: [item]} result['css_links'] = filter_form['css_links'] result['js_links'] = filter_form['js_links'] return result
def update(self): self.execute(None) user = get_current() validated = getattr(self, 'validated', {}) posted = self.request.POST or self.request.GET or {} posted = posted.copy() clear_posted = False if not validated: if posted: clear_posted = True searcinstance = SearchView(self.context, self.request, filter_result=True) if searcinstance.validated: validated = searcinstance.validated objects = find_entities( user=user, sort_on='release_date', reverse=True, include_site=True, **validated) url = self.request.resource_url( self.context, self.request.view_name, query=posted) batch = Batch(objects, self.request, default_size=core.BATCH_DEFAULT_SIZE, url=url) #clear posted values: See usermenu panel if clear_posted: if self.request.POST: self.request.POST.clear() elif self.request.GET: self.request.GET.clear() batch.target = "#results_contents" len_result = batch.seqlen index = str(len_result) if len_result > 1: index = '*' self.title = _(CONTENTS_MESSAGES[index], mapping={'nember': len_result}) result_body = [] for obj in batch: render_dict = {'object': obj, 'current_user': user, 'state': get_states_mapping(user, obj, getattr(obj, 'state_or_none', [None])[0])} body = self.content(args=render_dict, template=obj.templates['default'])['body'] result_body.append(body) 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 update(self): self.execute(None) user = get_current() filter_form, filter_data = self._add_filter(user) content_types = list(core.SEARCHABLE_CONTENTS.keys()) args = {'metadata_filter': {'content_types': content_types}} args = merge_with_filter_view(self, args) args['request'] = self.request objects = find_entities(user=user, sort_on='release_date', reverse=True, include_site=True, **args) url = self.request.resource_url(self.context, 'contentstomoderate') batch = Batch(objects, self.request, url=url, default_size=core.BATCH_DEFAULT_SIZE) batch.target = "#results_contents" len_result = batch.seqlen index = str(len_result) if len_result > 1: index = '*' self.title = _(CONTENTS_MESSAGES[index], mapping={'nember': len_result}) filter_data['filter_message'] = self.title filter_body = self.filter_instance.get_body(filter_data) result_body = [] for obj in batch: render_dict = { 'object': obj, 'current_user': user, 'state': get_states_mapping(user, obj, getattr(obj, 'state_or_none', [None])[0]) } body = self.content(args=render_dict, template=obj.templates['default'])['body'] result_body.append(body) result = {} values = { 'bodies': result_body, 'batch': batch, 'filter_body': filter_body } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) result['coordinates'] = {self.coordinates: [item]} result['css_links'] = filter_form['css_links'] result['js_links'] = filter_form['js_links'] return result
def update(self): self.execute(None) try: navbars = generate_navbars(self, self.context, self.request) except ObjectRemovedException: return HTTPFound(self.request.resource_url(getSite(), '')) result = {} user = get_current() related_cinema_review = find_related_cinema_review(self.context) related_cinema_review = [a for a in related_cinema_review] reviews_bodies = [] for obj in related_cinema_review: object_values = {'object': obj, 'current_user': user, 'state': get_states_mapping(user, obj, getattr(obj, 'state_or_none', [None])[0])} body = self.content(args=object_values, template=obj.templates['default'])['body'] reviews_bodies.append(body) values = { 'object': self.context, 'reviews_bodies': reviews_bodies, 'state': get_states_mapping( user, self.context, getattr(self.context, 'state_or_none', [None])[0]), 'navbar_body': navbars['navbar_body'], 'sync_operation': 'address_coordinates_synchronizing', 'url': self.request.resource_url(self.context, '@@culturaleventmanagement'), 'get_oid': get_oid } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) item['messages'] = navbars['messages'] item['isactive'] = navbars['isactive'] result.update(navbars['resources']) result.update(self.requirements) result['coordinates'] = {self.coordinates: [item]} return result
def update(self): self.execute(None) try: navbars = generate_navbars(self, self.context, self.request) except ObjectRemovedException: return HTTPFound(self.request.resource_url(getSite(), '')) result = {} user = get_current() related_schedules, len_schedules = self.get_related_contents( user, IFilmSchedule) related_events, len_events = self.get_related_contents( user, ICulturalEvent) values = { 'object': self.context, 'state': get_states_mapping( user, self.context, getattr(self.context, 'state_or_none', [None])[0]), 'sync_operation': 'venue_address_coordinates_synchronizing', 'url': self.request.resource_url(self.context, '@@culturaleventmanagement'), 'related_events': related_events, 'related_schedules': related_schedules, 'len_schedules': len_schedules, 'len_events': len_events, 'navbar_body': navbars['navbar_body'], 'actions_bodies': navbars['body_actions'], 'footer_body': navbars['footer_body'], 'get_oid': get_oid, 'is_portalmanager': has_role(user=user, role=('PortalManager', )) } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) item['messages'] = navbars['messages'] item['isactive'] = navbars['isactive'] result.update(navbars['resources']) result['coordinates'] = {self.coordinates: [item]} return result
def update(self): self.execute(None) try: navbars = generate_navbars(self, self.context, self.request) except ObjectRemovedException: return HTTPFound(self.request.resource_url(getSite(), '')) result = {} user = get_current() related_film_schedules = find_related_film_schedules(self.context) related_film_schedules = [a for a in related_film_schedules] films_body = '' if related_film_schedules: films_folder = generate_search_smart_folder( 'fil schedules', ('city_classification', 'venue_classification')) films_body = films_folder.classifications.render( related_film_schedules, self.request, films_folder) site = get_site_folder(True, self.request) diff_marker = "#diff" values = { 'object': self.context, 'films_body': films_body, 'state': get_states_mapping( user, self.context, getattr(self.context, 'state_or_none', [None])[0]), 'navbar_body': navbars['navbar_body'], 'footer_body': navbars['footer_body'], 'services_body': navbars['services_body'], 'is_portalmanager': has_role(user=user, role=('PortalManager', )), 'tree_diff': json.dumps(tree_diff(site.tree, self.context.tree, diff_marker)), 'diff_marker': diff_marker } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) item['messages'] = navbars['messages'] item['isactive'] = navbars['isactive'] result.update(navbars['resources']) result.update(self.requirements) result['coordinates'] = {self.coordinates: [item]} return result
def update(self): self.execute(None) try: navbars = generate_navbars(self, self.context, self.request) except ObjectRemovedException: return HTTPFound(self.request.resource_url(getSite(), '')) user = self.context current_user = get_current() objects = self.context.members batch = Batch(objects, self.request, default_size=BATCH_DEFAULT_SIZE) batch.target = "#results_contents" len_result = batch.seqlen result_body = [] result = {} for obj in batch: object_values = { 'object': obj, 'current_user': current_user, 'state': None } body = self.content(args=object_values, template=obj.templates['default'])['body'] result_body.append(body) values = {'bodies': result_body, 'length': len_result, 'batch': batch} contents_body = self.content( args=values, template=SearchResultView.template)['body'] values = { 'contents': (result_body and contents_body) or None, 'proposals': None, 'user': self.context, 'state': get_states_mapping(current_user, user, getattr(user, 'state_or_none', [None])[0]), 'navbar_body': navbars['navbar_body'] } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) item['messages'] = navbars['messages'] item['isactive'] = navbars['isactive'] result.update(navbars['resources']) result['coordinates'] = {self.coordinates: [item]} return result
def update(self): self.execute(None) user = get_current() filter_form, filter_data = self._add_filter(user) content_types = list(core.SEARCHABLE_CONTENTS.keys()) args = {'metadata_filter': {'content_types': content_types}} args = merge_with_filter_view(self, args) args['request'] = self.request objects = find_entities(user=user, sort_on='release_date', reverse=True, include_site=True, **args) url = self.request.resource_url(self.context, 'contentstomoderate') batch = Batch(objects, self.request, url=url, default_size=core.BATCH_DEFAULT_SIZE) batch.target = "#results_contents" len_result = batch.seqlen index = str(len_result) if len_result > 1: index = '*' self.title = _(CONTENTS_MESSAGES[index], mapping={'nember': len_result}) filter_data['filter_message'] = self.title filter_body = self.filter_instance.get_body(filter_data) result_body = [] for obj in batch: render_dict = {'object': obj, 'current_user': user, 'state': get_states_mapping(user, obj, getattr(obj, 'state_or_none', [None])[0])} body = self.content(args=render_dict, template=obj.templates['default'])['body'] result_body.append(body) result = {} values = {'bodies': result_body, 'batch': batch, 'filter_body': filter_body} body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) result['coordinates'] = {self.coordinates: [item]} result['css_links'] = filter_form['css_links'] result['js_links'] = filter_form['js_links'] return result
def update(self): self.execute(None) try: navbars = generate_navbars(self, self.context, self.request) except ObjectRemovedException: return HTTPFound(self.request.resource_url(getSite(), '')) user = self.context current_user = get_current() objects = self.context.members batch = Batch(objects, self.request, default_size=BATCH_DEFAULT_SIZE) batch.target = "#results_contents" len_result = batch.seqlen result_body = [] result = {} for obj in batch: object_values = {'object': obj, 'current_user': current_user, 'state': None } body = self.content(args=object_values, template=obj.templates['default'])['body'] result_body.append(body) values = {'bodies': result_body, 'length': len_result, 'batch': batch } contents_body = self.content(args=values, template=SearchResultView.template)['body'] values = {'contents': (result_body and contents_body) or None, 'proposals': None, 'user': self.context, 'state': get_states_mapping(current_user, user, getattr(user, 'state_or_none', [None])[0]), 'navbar_body': navbars['navbar_body']} body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) item['messages'] = navbars['messages'] item['isactive'] = navbars['isactive'] result.update(navbars['resources']) result['coordinates'] = {self.coordinates: [item]} return result
def update(self): user = get_current() services = user.get_all_services(context=self.context, validate=False, delegation=False) sites = [get_obj(s) for s in getattr(self.context, 'sumited_to', [])] for site in sites: site_services = site.get_all_services(context=self.context, validate=True, delegation=False) if 'moderation' in site_services: moderations = site_services['moderation'] if 'moderation' in services: services['moderation'].extend(moderations) else: services['moderation'] = list(moderations) services['moderation'] = list(set(services['moderation'])) result_servicesbody = {} for service in services: result_servicesbody[service] = [] for obj in services[service]: object_values = { 'object': obj, 'state': get_states_mapping( user, obj, getattr(obj, 'state_or_none', [None])[0]) } body = self.content(args=object_values, template=obj.templates['default'])['body'] result_servicesbody[service].append(body) result = {} #TDOD generation du formulaire de payment values = {'services': result_servicesbody, 'math': math} 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): user = get_current() services = user.get_all_services( context=self.context, validate=False, delegation=False) sites = [get_obj(s) for s in getattr(self.context, 'sumited_to', [])] for site in sites: site_services = site.get_all_services(context=self.context, validate=True, delegation=False) if 'moderation' in site_services: moderations = site_services['moderation'] if 'moderation' in services: services['moderation'].extend(moderations) else: services['moderation'] = list(moderations) services['moderation'] = list(set( services['moderation'])) result_servicesbody = {} for service in services: result_servicesbody[service] = [] for obj in services[service]: object_values = {'object': obj, 'state': get_states_mapping(user, obj, getattr(obj, 'state_or_none', [None])[0])} body = self.content(args=object_values, template=obj.templates['default'])['body'] result_servicesbody[service].append(body) result = {} #TDOD generation du formulaire de payment values = {'services': result_servicesbody, 'math': math} 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) try: navbars = generate_navbars(self, self.context, self.request) except ObjectRemovedException: return HTTPFound(self.request.resource_url(getSite(), '')) result = {} user = get_current() related_schedules, len_schedules = self.get_related_contents( user, IFilmSchedule) related_events, len_events = self.get_related_contents( user, ICulturalEvent) values = { 'object': self.context, 'state': get_states_mapping( user, self.context, getattr(self.context, 'state_or_none', [None])[0]), 'sync_operation': 'venue_address_coordinates_synchronizing', 'url': self.request.resource_url(self.context, '@@culturaleventmanagement'), 'related_events': related_events, 'related_schedules': related_schedules, 'len_schedules': len_schedules, 'len_events': len_events, 'navbar_body': navbars['navbar_body'], 'actions_bodies': navbars['body_actions'], 'footer_body': navbars['footer_body'], 'get_oid': get_oid, 'is_portalmanager': has_role(user=user, role=('PortalManager',)) } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) item['messages'] = navbars['messages'] item['isactive'] = navbars['isactive'] result.update(navbars['resources']) result['coordinates'] = {self.coordinates: [item]} return result
def update(self): self.execute(None) try: navbars = generate_navbars(self, self.context, self.request) except ObjectRemovedException: return HTTPFound(self.request.resource_url(getSite(), '')) result = {} user = get_current() related_film_schedules = find_related_film_schedules(self.context) related_film_schedules = [a for a in related_film_schedules] films_body = '' if related_film_schedules: films_folder = generate_search_smart_folder('fil schedules', ('city_classification', 'venue_classification')) films_body = films_folder.classifications.render( related_film_schedules, self.request, films_folder) values = { 'object': self.context, 'films_body': films_body, 'state': get_states_mapping( user, self.context, getattr(self.context, 'state_or_none', [None])[0]), 'navbar_body': navbars['navbar_body'], 'services_body': navbars['services_body'], 'footer_body': navbars['footer_body'], 'is_portalmanager': has_role(user=user, role=('PortalManager',)) } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) item['messages'] = navbars['messages'] item['isactive'] = navbars['isactive'] result.update(navbars['resources']) result['coordinates'] = {self.coordinates: [item]} return result
def update(self): self.execute(None) try: navbars = generate_navbars(self, self.context, self.request) except ObjectRemovedException: return HTTPFound(self.request.resource_url(getSite(), '')) result = {} user = get_current() values = { 'object': self.context, 'state': get_states_mapping( user, self.context, getattr(self.context, 'state_or_none', [None])[0]), 'navbar_body': navbars['navbar_body'] } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) item['messages'] = navbars['messages'] item['isactive'] = navbars['isactive'] result.update(navbars['resources']) result['coordinates'] = {self.coordinates: [item]} return result
def update(self): self.execute(None) try: navbars = generate_navbars(self, self.context, self.request) except ObjectRemovedException: return HTTPFound(self.request.resource_url(getSite(), '')) result = {} user = get_current() site = get_site_folder(True, self.request) diff_marker = "#diff" values = { 'object': self.context, 'state': get_states_mapping( user, self.context, getattr(self.context, 'state_or_none', [None])[0]), 'navbar_body': navbars['navbar_body'], 'footer_body': navbars['footer_body'], 'is_portalmanager': has_role(user=user, role=('PortalManager', )), 'tree_diff': json.dumps(tree_diff(site.tree, self.context.tree, diff_marker)), 'diff_marker': diff_marker } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) item['messages'] = navbars['messages'] item['isactive'] = navbars['isactive'] result.update(navbars['resources']) result.update(self.requirements) result['coordinates'] = {self.coordinates: [item]} return result
def update(self): self.execute(None) try: navbars = generate_navbars(self, self.context, self.request) except ObjectRemovedException: return HTTPFound(self.request.resource_url(getSite(), '')) user = self.context current_user = get_current() objects = [] is_current_user = current_user is user if is_current_user: objects = [ o for o in getattr(user, 'all_contributions', []) if 'archived' not in o.state ] else: objects = [ o for o in getattr(user, 'all_contributions', []) if 'archived' not in o.state and can_access(current_user, o) ] objects = sorted( objects, key=lambda e: getattr(e, 'release_date', e.modified_at), reverse=True) batch = Batch(objects, self.request, default_size=BATCH_DEFAULT_SIZE) batch.target = "#results_contents" len_result = batch.seqlen result_body = [] result = {} for obj in batch: object_values = {'object': obj, 'current_user': current_user, 'state': is_current_user and \ get_states_mapping(current_user, obj, getattr(obj, 'state_or_none', [None])[0]) or \ None } body = self.content(args=object_values, template=obj.templates['default'])['body'] result_body.append(body) values = {'bodies': result_body, 'length': len_result, 'batch': batch} contents_body = self.content( args=values, template=SearchResultView.template)['body'] values = { 'contents': (result_body and contents_body) or None, 'proposals': None, 'user': self.context, 'state': get_states_mapping(current_user, user, getattr(user, 'state_or_none', [None])[0]), 'navbar_body': navbars['navbar_body'], 'footer_body': navbars['footer_body'], 'admin': has_role(role=('Admin', )), 'is_portal_manager': has_role(role=('PortalManager', )), 'len_contents': len_result } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) item['messages'] = navbars['messages'] item['isactive'] = navbars['isactive'] result.update(navbars['resources']) result['coordinates'] = {self.coordinates: [item]} return result
def resolve_state(self, args, info): request = get_current_request() state = get_states_mapping( request.user, self, getattr(self, 'state_or_none', [None])[0]) return request.localizer.translate(state)
def update(self): self.execute(None) user = get_current() validated = getattr(self, 'validated', {}) posted = self.request.POST or self.request.GET or {} posted = posted.copy() clear_posted = False if not validated: if posted: clear_posted = True searcinstance = SearchView(self.context, self.request, filter_result=True) if searcinstance.validated: validated = searcinstance.validated objects = find_entities(user=user, sort_on='release_date', reverse=True, include_site=True, **validated) url = self.request.resource_url(self.context, self.request.view_name, query=posted) batch = Batch(objects, self.request, default_size=core.BATCH_DEFAULT_SIZE, url=url) #clear posted values: See usermenu panel if clear_posted: if self.request.POST: self.request.POST.clear() elif self.request.GET: self.request.GET.clear() batch.target = "#results_contents" len_result = batch.seqlen index = str(len_result) if len_result > 1: index = '*' self.title = _(CONTENTS_MESSAGES[index], mapping={'nember': len_result}) result_body = [] for obj in batch: render_dict = { 'object': obj, 'current_user': user, 'state': get_states_mapping(user, obj, getattr(obj, 'state_or_none', [None])[0]) } body = self.content(args=render_dict, template=obj.templates['default'])['body'] result_body.append(body) 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 get_subject_state(self, subject, user): return get_states_mapping( user, subject, getattr(subject, 'state_or_none', [None])[0])
def get_subject_state(self, subject, user): return get_states_mapping(user, subject, getattr(subject, 'state_or_none', [None])[0])
def update(self): result = {} user = get_current() folderid = self.params('folderid') try: folder = get_obj(int(folderid)) except: folder = None # if not valid folderid if folderid is None or folder is None: error = ViewError() error.principalmessage = _( "Access to the requested folder has been denied") error.causes = [_("Folder not valid")] message = error.render_message(self.request) item = self.adapt_item('', self.viewid) item['messages'] = {error.type: [message]} result['coordinates'] = {self.coordinates: [item]} return result # if permission denied if folder and not can_access(user, folder): error = ViewError() error.principalmessage = _( "Access to the requested folder has been denied") error.causes = [_("Permission denied")] message = error.render_message(self.request) item = self.adapt_item('', self.viewid) item['messages'] = {error.type: [message]} result['coordinates'] = {self.coordinates: [item]} return result classifications = [ CLASSIFICATIONS[fid] for fid in getattr(folder, 'classifications', []) ] classifications.reverse() source_class = None for classification in classifications: source_class = classification(source_class) setattr(self, 'filter_instance', None) filter_body = None filter_form, filter_data = self._add_filter(folder, user) # calling self._add_filter will set self.filter_instance or not template_type = getattr(folder, 'view_type', 'default') if template_type == 'bloc': self.container_css_class = 'home folder-bloc' self.wrapper_template = 'lac:views/admin_process/templates/folder_blocs_view_wrapper.pt' args = merge_with_filter_view(self, {}) objects = get_folder_content(folder, user, **args) len_result = len(objects) self.breadcrumb = self.content( args={ 'lineage': folder.folder_lineage, 'nember': len_result }, template=self.breadcrumb_template)['body'] self.title = '/'.join([f.title for f in folder.folder_lineage]) if getattr(self, 'filter_instance', None) is not None: filter_data['filter_message'] = self.breadcrumb filter_body = getattr(self, 'filter_instance').get_body(filter_data) if source_class is None: url = self.request.resource_url(self.context, 'open', query={'folderid': folderid}) batch = Batch(objects, self.request, url=url, default_size=BATCH_DEFAULT_SIZE) batch.target = "#results" result_body = [] for obj in batch: object_values = { 'object': obj, 'current_user': user, 'state': get_states_mapping( user, obj, getattr(obj, 'state_or_none', [None])[0]) } body = self.content( args=object_values, template=obj.templates[template_type])['body'] result_body.append(body) values = { 'bodies': result_body, 'batch': batch, 'filter_body': filter_body, 'row_len': math.ceil(len_result / 2) } template = self.templates.get(template_type, 'default') body = self.content(args=values, template=template)['body'] else: body = source_class.render(objects, self.request, folder, filter_body=filter_body, validated=getattr( self.filter_instance, 'validated', {}), template_type=template_type) item = self.adapt_item(body, self.viewid) result['coordinates'] = {self.coordinates: [item]} result = merge_dicts(self.requirements_copy, result) if filter_form: result['css_links'] = filter_form['css_links'] result['js_links'] = filter_form['js_links'] return result
def update(self): self.execute(None) user = get_current() filter_form, filter_data = self._add_filter(user) content_types = ['cultural_event', 'venue', 'artist'] args = {'metadata_filter': {'content_types': content_types}} args = merge_with_filter_view(self, args) args['request'] = self.request if not args.get('metadata_filter', {}).get('content_types', []): metadata_filter = args.get('metadata_filter', {}) metadata_filter['content_types'] = content_types args['metadata_filter'] = metadata_filter args['metadata_filter']['states'] = ['published'] objects = find_entities(user=user, sort_on='object_title', reverse=False, include_site=True, **args) url = self.request.resource_url(self.context, 'allduplicates') def condition(obj): """Batch condition""" return obj.get_duplicates() batch = ConditionalBatch(condition, objects, self.request, url=url, default_size=15) batch.target = "#results_contents" len_result = batch.seqlen index = str(len_result) if len_result > 1: index = '*' self.title = _(CONTENTS_MESSAGES[index], mapping={'nember': len_result}) filter_data['filter_message'] = self.title filter_body = self.filter_instance.get_body(filter_data) result_body = [] for obj in batch: render_dict = { 'object': obj, 'current_user': user, 'state': get_states_mapping(user, obj, getattr(obj, 'state_or_none', [None])[0]) } body = self.content(args=render_dict, template=obj.templates['duplicates'])['body'] result_body.append(body) result = {} values = { 'bodies': result_body, 'batch': batch, 'filter_body': filter_body } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) result['coordinates'] = {self.coordinates: [item]} result['css_links'] = filter_form['css_links'] result['js_links'] = filter_form['js_links'] return result
def update(self): self.execute(None) try: navbars = generate_navbars(self, self.context, self.request) except ObjectRemovedException: return HTTPFound(self.request.resource_url(getSite(), '')) user = self.context current_user = get_current() objects = [] is_current_user = current_user is user if is_current_user: objects = [o for o in getattr(user, 'all_contributions', []) if 'archived' not in o.state] else: objects = [o for o in getattr(user, 'all_contributions', []) if 'archived' not in o.state and can_access(current_user, o)] objects = sorted( objects, key=lambda e: getattr(e, 'release_date', e.modified_at), reverse=True) batch = Batch(objects, self.request, default_size=BATCH_DEFAULT_SIZE) batch.target = "#results_contents" len_result = batch.seqlen result_body = [] result = {} for obj in batch: object_values = {'object': obj, 'current_user': current_user, 'state': is_current_user and \ get_states_mapping(current_user, obj, getattr(obj, 'state_or_none', [None])[0]) or \ None } body = self.content(args=object_values, template=obj.templates['default'])['body'] result_body.append(body) values = {'bodies': result_body, 'length': len_result, 'batch': batch } contents_body = self.content(args=values, template=SearchResultView.template)['body'] values = {'contents': (result_body and contents_body) or None, 'proposals': None, 'user': self.context, 'state': get_states_mapping(current_user, user, getattr(user, 'state_or_none', [None])[0]), 'navbar_body': navbars['navbar_body'], 'footer_body': navbars['footer_body'], 'admin': has_role(role=('Admin',)), 'is_portal_manager': has_role(role=('PortalManager',)), 'len_contents': len_result} body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) item['messages'] = navbars['messages'] item['isactive'] = navbars['isactive'] result.update(navbars['resources']) result['coordinates'] = {self.coordinates: [item]} return result