34 | | || Create a class {{{django.contrib.admin.views.main.ModelAdminView}}}, which will implement the admin hooks for a particular model. || Done in [4315] || |
35 | | || Implement {{{has_add_permission()}}}, {{{has_change_permission()}}} and {{{has_delete_permission()}}} hooks on {{{ModelAdminView}}}, so people can implement specific permission logic (such as per-object permissions). || Done in [4324] || |
36 | | || Change model infastructure/metaclass so that the inner {{{class Admin}}} automatically subclasses {{{ModelAdminView}}}. (This is a bit of black magic, but it's necessary for backwards compatibility. We may require an explicit subclass declaration in the future.) || Not done || |
37 | | || Implement {{{ModelAdminView.add_view}}}, using newforms instead of the automatic manipulator. || Not done || |
38 | | || Implement {{{ModelAdminView.change_view}}}, using newforms instead of the automatic manipulator. || Not done || |
39 | | || Implement {{{ModelAdminView.change_list_view}}}. || Done in [4320] || |
40 | | || Implement {{{ModelAdminView.history_view}}}. || Done in [4319] || |
41 | | || Implement {{{ModelAdminView.delete_view}}}. || Done in [4321] || |
| 34 | || Create a class {{{django.contrib.admin.options.ModelAdmin}}}, which implements the admin hooks for a particular model. || Done in [4315] || |
| 35 | || Implement {{{has_add_permission()}}}, {{{has_change_permission()}}} and {{{has_delete_permission()}}} hooks on {{{ModelAdmin}}}, so people can implement specific permission logic (such as per-object permissions). || Done in [4324] || |
| 36 | || Change model infastructure/metaclass so that the inner {{{class Admin}}} automatically subclasses {{{ModelAdmin}}}. (This is a bit of black magic, but it's necessary for backwards compatibility. We may require an explicit subclass declaration in the future.) || Done in [4328] || |
| 37 | || Implement {{{ModelAdmin.add_view}}} as a method rather than the {{{add_stage}}} view function. || Done in [4323]. || |
| 38 | || Implement {{{ModelAdmin.change_view}}} as a method rather than the {{{change_stage}}} view function. || Done in [4322]. || |
| 39 | || Implement {{{ModelAdmin.change_list_view}}}. || Done in [4320] || |
| 40 | || Implement {{{ModelAdmin.history_view}}}. || Done in [4319] || |
| 41 | || Implement {{{ModelAdmin.delete_view}}}. || Done in [4321] || |
| 42 | || Change {{{_meta.admin}}} on a model to be a {{{ModelAdmin}}} class instead of a {{{AdminOptions}}} instance, and remove the {{{AdminOptions}}} class. || Done in [4343] || |
| 43 | || Change {{{ModelAdmin.add_view}}} to use newforms. || Not done yet || |
| 44 | || Change {{{ModelAdmin.change_view}}} to use newforms. || Not done yet || |
| 45 | || Figure out a cleaner way of specifying admin options, now that {{{class Admin}}} is much more powerful. It doesn't feel like it should live in the model anymore. || Not done yet; requires django-developers discussion || |