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.
Metadata
Release files for edc-model-admin 0.3.75
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| edc_model_admin-0.3.75.tar.gz | 66.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| edc_model_admin-0.3.75-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 160.0 kB
Release files / edc_model_admin-0.3.75.tar.gz
| Download URL | edc_model_admin-0.3.75.tar.gz |
|---|---|
| Size | 66.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
95fe5c2ed759f61dbee8d1286f9d97666316f2f7406595881296f82602b6e7d6
|
|
BLAKE2b-256 checksum How to use checksums |
2552cae2961b1c70cb3500cfbff8bb6e1fe69ece3ee340ca00c4a05ea375e05d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.4
|
Release files / edc_model_admin-0.3.75-py3-none-any.whl
| Download URL | edc_model_admin-0.3.75-py3-none-any.whl |
|---|---|
| Size | 93.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a35cf1ce51cadc04a1eff0e8e35e2bc72992f5e5a1c031416cc24429ba77838e
|
|
BLAKE2b-256 checksum How to use checksums |
d5df62c4184b03305155f981129fd4f5a0badb8ac5d588e4286a4a10f0118686
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.4
|