Exemple #1
0
        if not self.title:
            self.title = unicode(bookmark)

        req = self.make_get_request("", data.items())
        self.list_view = self.get_view_class(ListAdminView, model, list_per_page=10, list_editable=[])(req)

    def has_perm(self):
        return True

    def context(self, context):
        list_view = self.list_view
        list_view.make_result_list()

        base_fields = list_view.base_list_display
        if len(base_fields) > 5:
            base_fields = base_fields[0:5]

        context['result_headers'] = [c for c in list_view.result_headers().cells if c.field_name in base_fields]
        context['results'] = [[o for i,o in \
            enumerate(filter(lambda c:c.field_name in base_fields, r.cells))] \
            for r in list_view.results()]
        context['result_count'] = list_view.result_count
        context['page_url'] = self.bookmark.url

site.register(Bookmark, BookmarkAdmin)
site.register_plugin(BookmarkPlugin, ListAdminView)
site.register_modelview(r'^bookmark/$', BookmarkView, name='%s_%s_bookmark')


Exemple #2
0
        return self.revision_manager._revision_context_manager

    def do_action_func(self, __):
        def _method():
            self.revision_context_manager.set_user(self.user)
            action_view = self.admin_view
            comment = action_view.description % model_format_dict(self.opts)

            self.revision_context_manager.set_comment(comment)
            return __()
        return _method

    def do_action(self, __, queryset):
        return self.revision_context_manager.create_revision(manage_manually=False)(self.do_action_func(__))()

site.register(Revision)
site.register(Version)

site.register_modelview(r'^recover/$', RecoverListView, name='%s_%s_recoverlist')
site.register_modelview(r'^recover/([^/]+)/$', RecoverView, name='%s_%s_recover')
site.register_modelview(r'^([^/]+)/revision/$', RevisionListView, name='%s_%s_revisionlist')
site.register_modelview(r'^([^/]+)/revision/([^/]+)/$', RevisionView, name='%s_%s_revision')

site.register_plugin(ReversionPlugin, ListAdminView)
site.register_plugin(ReversionPlugin, ModelFormAdminView)
site.register_plugin(ReversionPlugin, DeleteAdminView)

site.register_plugin(InlineRevisionPlugin, InlineModelAdmin)
site.register_plugin(ActionRevisionPlugin, BaseActionView)

Exemple #3
0
    def get_form_layout(self):
        if self.org_obj:
            self.form_layout = (
                Main(
                    Fieldset("", "username", "password", css_class="unsort no_title"),
                    Fieldset(_("Personal info"), Row("first_name", "last_name"), "email"),
                    Fieldset(_("Permissions"), "groups", "user_permissions"),
                    Fieldset(_("Important dates"), "last_login", "date_joined"),
                ),
                Side(Fieldset(_("Status"), "is_active", "is_staff", "is_superuser")),
            )
        return super(UserAdmin, self).get_form_layout()


site.register(Group, GroupAdmin)
site.register(User, UserAdmin)
site.register(Permission, object)


class UserFieldPlugin(BaseAdminPlugin):

    user_fields = []

    def get_field_attrs(self, __, db_field, **kwargs):
        if self.user_fields and db_field.name in self.user_fields:
            return {"widget": forms.HiddenInput}
        return __()

    def get_form_datas(self, datas):
        if self.user_fields and datas.has_key("data"):
Exemple #4
0
            return super(UserWidgetAdmin, self).queryset()
        return UserWidget.objects.filter(user=self.user)

    def delete_model(self):
        try:
            obj = self.obj
            portal_pos = UserSettings.objects.get(user=obj.user, key="dashboard:%s:pos" % obj.page_id)
            pos = [[w for w in col.split(',') if w != str(obj.id)] for col in portal_pos.value.split('|')]
            portal_pos.value = '|'.join([','.join(col) for col in pos])
            portal_pos.save()
        except Exception:
            pass
        super(UserWidgetAdmin, self).delete_model()


site.register(UserWidget, UserWidgetAdmin)

class WidgetManager(object):
    _widgets = None

    def __init__(self):
        self._widgets = {}

    def register(self, widget_class):
        self._widgets[widget_class.widget_type] = widget_class
        return widget_class

    def get(self, name):
        return self._widgets[name]

widget_manager = WidgetManager()