Esempio n. 1
0
    def __init__(self, *args, **kwargs):
        super(TreeEditor, self).__init__(*args, **kwargs)

        self.list_display = list(self.list_display)

        if 'indented_short_title' not in self.list_display:
            if self.list_display[0] == 'action_checkbox':
                self.list_display[1] = 'indented_short_title'
            else:
                self.list_display[0] = 'indented_short_title'
        self.list_display_links = ('indented_short_title', )

        opts = self.model._meta
        self.change_list_template = [
            'admin/feincms/%s/%s/tree_editor.html' %
            (opts.app_label, opts.object_name.lower()),
            'admin/feincms/%s/tree_editor.html' % opts.app_label,
            'admin/feincms/tree_editor.html',
        ]
        self.object_change_permission =\
            opts.app_label + '.' + get_permission_codename('change', opts)
        self.object_add_permission =\
            opts.app_label + '.' + get_permission_codename('add', opts)
        self.object_delete_permission =\
            opts.app_label + '.' + get_permission_codename('delete', opts)
Esempio n. 2
0
    def __init__(self, *args, **kwargs):
        super(TreeEditor, self).__init__(*args, **kwargs)

        self.list_display = list(self.list_display)

        if 'indented_short_title' not in self.list_display:
            if self.list_display[0] == 'action_checkbox':
                self.list_display[1] = 'indented_short_title'
            else:
                self.list_display[0] = 'indented_short_title'
        self.list_display_links = ('indented_short_title',)

        opts = self.model._meta
        self.change_list_template = [
            'admin/feincms/%s/%s/tree_editor.html' % (
                opts.app_label, opts.object_name.lower()),
            'admin/feincms/%s/tree_editor.html' % opts.app_label,
            'admin/feincms/tree_editor.html',
        ]
        self.object_change_permission =\
            opts.app_label + '.' + get_permission_codename('change', opts)
        self.object_add_permission =\
            opts.app_label + '.' + get_permission_codename('add', opts)
        self.object_delete_permission =\
            opts.app_label + '.' + get_permission_codename('delete', opts)
Esempio n. 3
0
def show_content_type_selection_widget(context, region):
    """
    {% show_content_type_selection_widget region %}
    """
    if 'request' in context:
        user = context['request'].user
    elif 'user' in context:
        user = context['user']
    else:
        user = None

    grouped = {}
    ungrouped = []

    if user:
        for ct in region._content_types:
            # Skip cts that we shouldn't be adding anyway
            opts = ct._meta
            perm = opts.app_label + "." + get_permission_codename('add', opts)
            if not user.has_perm(perm):
                continue

            ct_info = (ct.__name__.lower(), ct._meta.verbose_name)
            if hasattr(ct, 'optgroup'):
                if ct.optgroup in grouped:
                    grouped[ct.optgroup].append(ct_info)
                else:
                    grouped[ct.optgroup] = [ct_info]
            else:
                ungrouped.append(ct_info)

    return {'grouped': grouped, 'ungrouped': ungrouped}
Esempio n. 4
0
def show_content_type_selection_widget(context, region):
    """
    {% show_content_type_selection_widget region %}
    """
    if 'request' in context:
        user = context['request'].user
    elif 'user' in context:
        user = context['user']
    else:
        user = None

    grouped = {}
    ungrouped = []

    if user:
        for ct in region._content_types:
            # Skip cts that we shouldn't be adding anyway
            opts = ct._meta
            perm = opts.app_label + "." + get_permission_codename('add', opts)
            if not user.has_perm(perm):
                continue

            ct_info = (ct.__name__.lower(), ct._meta.verbose_name)
            if hasattr(ct, 'optgroup'):
                if ct.optgroup in grouped:
                    grouped[ct.optgroup].append(ct_info)
                else:
                    grouped[ct.optgroup] = [ct_info]
            else:
                ungrouped.append(ct_info)

    return {'grouped': grouped, 'ungrouped': ungrouped}
Esempio n. 5
0
 def can_add_content(self, request, content_type):
     perm = '.'.join((content_type._meta.app_label,
                      get_permission_codename('add', content_type._meta)))
     return request.user.has_perm(perm)
Esempio n. 6
0
 def can_add_content(self, request, content_type):
     perm = '.'.join((
         content_type._meta.app_label,
         get_permission_codename('add', content_type._meta)))
     return request.user.has_perm(perm)