示例#1
0
        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)
示例#2
0
        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)
示例#3
0
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
示例#4
0
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
示例#5
0
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
示例#6
0
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
示例#7
0
    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
示例#8
0
    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