Edc custom django ModelAdmin mixins, tags and templates.
Project description
edc-model-admin
Edc custom django ModelAdmin mixins, tags and templates
ModelAdminFormAutoNumberMixin
Overrides ModelAdmin’s get_form to insert question numbers and the DB field names.
ModelAdminNextUrlRedirectMixin
Skips the changelist and redirects to the next CRF or Requisition listed in an edc visit schedule if “[Save and Next]” is clicked instead of “[SAVE]”
class BaseModelAdmin: search_fields = ("subject_identifier",) add_form_template = "edc_model_admin/admin/change_form.html" change_form_template = "edc_model_admin/admin/change_form.html" change_list_template = "edc_model_admin/admin/change_list.html" @admin.register(CrfTwo) class CrfTwoAdmin(BaseModelAdmin, ModelAdminNextUrlRedirectMixin, admin.ModelAdmin): show_save_next = True show_cancel = True
You need to use the included change_form.html to override the submit buttons on the admin form.
See also:: edc_visit_schedule
ModelAdminRedirectOnDeleteMixin
Redirects the admin form on save to a view other than the default changelist if post_url_on_delete_name is set.
@admin.register(CrfFive) class CrfFiveAdmin(ModelAdminRedirectOnDeleteMixin, admin.ModelAdmin): post_url_on_delete_name = "dashboard2_app:dashboard_url" def post_url_on_delete_kwargs(self, request, obj): return {'subject_identifier': obj.subject_identifier}
You can also store url names in the request object if used together with the Middleware from edc_dashboard and edc_subject_dashboard. This is useful if you do not know the namespace until deployment.
For example, add to settings:
MIDDLEWARE=[ ..., 'edc_dashboard.middleware.DashboardMiddleware', 'edc_subject_dashboard.middleware.DashboardMiddleware', ], DASHBOARD_URL_NAMES={ 'subject_dashboard_url': 'dashboard_app:subject_dashboard_url', },
and then declare the model admin class:
@admin.register(CrfFive) class CrfFiveAdmin(ModelAdminRedirectOnDeleteMixin, admin.ModelAdmin): post_url_on_delete_name = "subject_dashboard_url" def post_url_on_delete_kwargs(self, request, obj): return {'subject_identifier': obj.subject_identifier}
ModelAdminRedirectOnDeleteMixin will attempt to get the urlname from the request object using post_url_on_delete_name as a dictionary key.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size edc_model_admin-0.2.26-py3-none-any.whl (46.0 kB) | File type Wheel | Python version py3 | Upload date | Hashes View |
Hashes for edc_model_admin-0.2.26-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3da04cfa67f0070f09bebe324db0307107b9d3f55cfc21ccc3d9b468841ddcd4 |
|
MD5 | 3f5a9dc8048941d8c495fb6737ddfa75 |
|
BLAKE2-256 | 1006c0952d692cf35c734c6174edc03d1a52d615917deedb4eef283615d85a25 |