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')
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)
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"):
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()