#30577: feature request: custom rendering for readonly fields in admin
-------------------------------+--------------------------------------
Reporter: David | Owner: nobody
Type: New feature | Status: new
Component: contrib.admin | Version: 2.2
Severity: Normal | Resolution:
Keywords: | Triage Stage: Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+--------------------------------------
Comment (by Carlton Gibson):
Hi David.
This is interesting. I think I see where you're coming from but, could I
ask you to put together an minimal project that demonstrates exactly the
issue you're seeing — perhaps with some screenshots etc — so we can make
sure we're 100% clear?
I'm not sure about an adjustment here. I think it would depend on exactly
what's being proposed. Do you have a specific implementation idea?
It may be that there's a work-around.
bf39978a53f117ca02e9a0c78b76664a41a54745 introduced a check on the widget
for a `read_only` attribute, when rendering `AdminReadonlyField`
{{{
if field in self.form.fields:
widget = self.form[field].field.widget
# This isn't elegant but suffices for contrib.auth's
# ReadOnlyPasswordHashWidget.
if getattr(widget, 'read_only', False):
return widget.render(field, value)
}}}
If you were to override, `ModelAdmin.get_form()` to set a custom widget
(with `read_only=True) on the required field, when the user did not have
the `change` permission, you should 🤔 be able to leverage this to get the
behaviour you need. (If you could put together that test project it would
be easy enough to have a play with this...)
Given these questions, and that #14802 was closed as `wontfix`, I'm going
to close this as `needsinfo` right now. A sample project plus a proposal
is probably needed to progress. With just a sample project, asking on the
DevelopersMailingList might provide some help. Exploring the work-around
would be the shortest route forward.
--
Ticket URL: <https://code.djangoproject.com/ticket/30577#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/064.5385553fdc5517a113e510ad34530b1f%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.