def select_layout_changes(match): token_panels_initial = "" token = match.group('token') text = "" if layout: text_link = _('Change some content') panel_dispatched = layout.panels_dispatched.get( token_number=token) panels = panel_dispatched.panels.all() for panel in panels: if not panel.category_id: category = _('All Users') category_id = None else: category = get_category(panel.category_id) category_id = panel.category_id default = panel == panel_dispatched.panel_default default_str = '' default_str = (default and 'd') or '' token_panel_initial = "%s~%s#%s&%s*%s" % ( panel_dispatched.token_number, panel.content.id, category_id or '', panel.lang or '', default_str) token_panels_initial += token_panel_initial lang = [ unicode(lang[1]) for lang in settings.LANGUAGES if lang[0] == panel.lang ] or [_('All Languages')] text += "<p id=\"%s\" class=\"content_%s\"> Content: <strong>%s</strong>. Language: <strong>%s</strong>. Category: <strong>%s</strong>. <a href='#select_content' onClick='javascript:{delete_content(this);}'>Delete </a> </p>" % ( token_panel_initial, token, panel.content.name, lang[0], category) else: text_link = _('Choose some content') return '<span id="span_%s"><a id="link_%s" href="#" onclick="javascript:{popup_list(this);return false;}" >%s </a><div id="div_%s"> %s</div> </span>' % ( token, token, text_link, token, text)
def select_layout_changes(match): token_panels_initial = "" token = match.group('token') text = "" if layout: text_link = _('Change some content') panel_dispatched = layout.panels_dispatched.get(token_number=token) panels = panel_dispatched.panels.all() for panel in panels: if not panel.category_id: category = _('All Users') category_id = None else: category = get_category(panel.category_id) category_id = panel.category_id default = panel == panel_dispatched.panel_default default_str = '' default_str = (default and 'd') or '' token_panel_initial = "%s~%s#%s&%s*%s" % (panel_dispatched.token_number, panel.content.id, category_id or '', panel.lang or '', default_str) token_panels_initial += token_panel_initial lang = [unicode(lang[1]) for lang in settings.LANGUAGES if lang[0] == panel.lang] or [_('All Languages')] text += "<p id=\"%s\" class=\"content_%s\"> Content: <strong>%s</strong>. Language: <strong>%s</strong>. Category: <strong>%s</strong>. <a href='#select_content' onClick='javascript:{delete_content(this);}'>Delete </a> </p>" % (token_panel_initial, token, panel.content.name, lang[0], category) else: text_link = _('Choose some content') return '<span id="span_%s"><a id="link_%s" href="#" onclick="javascript:{popup_list(this);return false;}" >%s </a><div id="div_%s"> %s</div> </span>' % (token, token, text_link, token, text)
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