def check_allowed_layout(user, layout): if not layout.categories: return True else: layout_categories = layout.categories.split(' ,') for category_id in layout_categories: category = get_category(int(category_id)) if evaluate_category(user, category): return True return False
def get_allowed_layouts(user, layout_list): allowed_layouts_ids = [] for layout in layout_list: if not layout.categories: allowed_layouts_ids.append(layout.id) else: layout_categories = layout.categories.split(' ,') for category_id in layout_categories: category = get_category(int(category_id)) if evaluate_category(user, category): allowed_layouts_ids.append(layout.id) break layout_query = Layout.objects.filter(id__in=allowed_layouts_ids) return layout_query
def get_allowed_layouts(user, layout_list): allowed_layouts_ids = [] for layout in layout_list: if not layout.categories: allowed_layouts_ids.append(layout.id) else: layout_categories = layout.categories.split(' ,') for category_id in layout_categories: category = get_category(int(category_id)) if evaluate_category(user, category): allowed_layouts_ids.append(layout.id) break; layout_query = Layout.objects.filter(id__in=allowed_layouts_ids) return layout_query
def print_html(self, user): html = self.layout_template.html for pd in self.panels_dispatched.all(): token = "<!-- token%s -->" % pd.token_number panels = pd.panels.exclude(id=pd.panel_default.id) pd_find = False for panel in panels: category = None if panel.category_id: category = get_category(panel.category_id) if (not panel.lang or get_main_language() == panel.lang) and ( not category or evaluate_category(user, category)): html = html.replace(token, panel.content.print_html(user)) if not pd_find: html = html.replace(token, pd.panel_default.content.print_html(user)) return html
def print_html(self, user): html = self.layout_template.html for pd in self.panels_dispatched.all(): token = "<!-- token%s -->" % pd.token_number panels = pd.panels.exclude(id=pd.panel_default.id) pd_find = False for panel in panels: category = None if panel.category_id: category = get_category(panel.category_id) if (not panel.lang or get_main_language() == panel.lang) and (not category or evaluate_category(user, category)): html = html.replace(token, panel.content.print_html(user)) if not pd_find: html = html.replace(token, pd.panel_default.content.print_html(user)) return html