Open mikebq opened 4 years ago
Merging #69 into master will increase coverage by
4.64%
. The diff coverage is100%
.
@@ Coverage Diff @@
## master #69 +/- ##
==========================================
+ Coverage 39% 43.64% +4.64%
==========================================
Files 7 7
Lines 423 433 +10
Branches 78 79 +1
==========================================
+ Hits 165 189 +24
+ Misses 250 233 -17
- Partials 8 11 +3
Impacted Files | Coverage Δ | |
---|---|---|
authority/widgets.py | 87.17% <100%> (+52.69%) |
:arrow_up: |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update 3677b42...be36893. Read the comment docs.
I am porting a Django app to Django 1.11 and found some issues in the latest version of
django-authority
while doing so.The class
GenericForeignKeyRawIdWidget
hasForeignKeyRawIdWidget
as a base class but its__init__
method callsforms.TextInput.__init__
(I am guessing that this is why its class name starts with the word "Generic"). The following PR is my attempt to address errors when attempting to view an individual permission from the permissions list view.The first commit on this branch addresses an issue that occurs when
render
is called on this widget. Duringrender
a call is made toforms.TextInput.render
which then callsself.get_context
. Unfortunately this goes toForeignKeyRawIdWidget.get_context
which then blows up as it the instance of the class is missing members that would have been added byForeignKeyRawIdWidget.__init__
. In order to avoid this I have added aget_context
which simply delegates toforms.TextInput.get_context
(resolves up; but it is calling into something that has been initialised).The second commit addresses an issue that occurs when clicking the anchor of class
related-lookup
from the rendered widget. In the app that I am porting from Django 1.6.11, using django-authority 0.10 to Django 1.11 using the latest version of django-authority there are differences in the form of the URL where the widget is rendered. With the old version of Django and Django-Authority the path of the URL is like thisadmin/authority/permission/21852/
where as with Django 1.11 and latest Django-Authority I am seeingadmin/authority/permission/21852/change/
. Thus havingrelated_url
hard coded to"../../../"
is not going to work for both paths. What I have done is past therequest
object into the widget so that it can work out how many../
it should use to get back to the root of the "related" path.If you think this PR is off course or wrong could you please let me know :) thank you.