Support managing OAuth2 applications in the db

Review Request #8630 — Created Jan. 17, 2017 and submitted

Information

Review Board
release-3.0.x
eb6e91b...

Reviewers

ReviewBoard now depends on django-oauth-toolkit to provide support as
an OAuth2 identity provider for OAuth2 client applications. This first
patch allows applications to be managed in the database by
administrators. We use our own custom application model to allow
applications to be limited to LocalSites, as well as for attaching
extra data fields to them.

This patch also provides help text for the application form fields, most
of which were missing them.

I was able to create an application in the database successfully.

Description From Last Updated

'django_reset' imported but unused

reviewbotreviewbot

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot

'RelatedUserWidget' imported but unused

reviewbotreviewbot

'django_reset' imported but unused

reviewbotreviewbot

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot

Do we need to limit the version here to ensure compatibility with Django 1.6.x?

daviddavid

Class docstring?

daviddavid

This is kind of hard to read. Can we do all the help text on the next line and indented …

daviddavid

d before o.

daviddavid

We should have _('Local Site') as the first argument to this to provide a localizable name in the admin.

daviddavid

Same here with localizable name.

daviddavid

'django_reset' imported but unused

reviewbotreviewbot

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot

Col: 80 E501 line too long (88 > 79 characters)

reviewbotreviewbot

'override_feature_check' imported but unused

reviewbotreviewbot

Col: 80 E501 line too long (88 > 79 characters)

reviewbotreviewbot

Col: 80 E501 line too long (88 > 79 characters)

reviewbotreviewbot

Col: 43 W291 trailing whitespace

reviewbotreviewbot

Col: 80 E501 line too long (88 > 79 characters)

reviewbotreviewbot

Col: 80 E501 line too long (88 > 79 characters)

reviewbotreviewbot

Col: 1 W391 blank line at end of file

reviewbotreviewbot

'django_reset' imported but unused

reviewbotreviewbot

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot

Col: 80 E501 line too long (88 > 79 characters)

reviewbotreviewbot

'django_reset' imported but unused

reviewbotreviewbot

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot

Col: 80 E501 line too long (88 > 79 characters)

reviewbotreviewbot

Formatting has to happen outside of _()

daviddavid

As of Django 1.7, this needs to define either fields or excludes. To match the behavior you have here, use …

daviddavid

Please add a Meta here that defines app_label, db_table, and has localized versions of verbose_name and verbose_name_plural

daviddavid

'django_reset' imported but unused

reviewbotreviewbot

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot

Should be indented 2 spaces.

daviddavid

This must also return self.cleaned_data.

chipx86chipx86

Col: 80 E501 line too long (88 > 79 characters)

reviewbotreviewbot

"but it" -> "but"

chipx86chipx86

"the are" -> "they are"

chipx86chipx86

"users' passwords"

chipx86chipx86

Rather than space-separated, can we include a textarea and make it line-separated?

chipx86chipx86

Probably want to say "unchecked" instead of "false", I would guess.

chipx86chipx86

"is a" -> "is"

chipx86chipx86

'django_reset' imported but unused

reviewbotreviewbot

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot

Blank line between these.

chipx86chipx86

Should include the name of the block. Makes it easier to see in larger templates.

chipx86chipx86

Missing "Returns."

chipx86chipx86

Col: 80 E501 line too long (88 > 79 characters)

reviewbotreviewbot

You can wrap before the <. It's valid.

chipx86chipx86

Minor thing, but technically you should get cleaned_data from this, modify that, and return it directly, instead of using self.cleaned_data. …

chipx86chipx86

'django_reset' imported but unused

reviewbotreviewbot

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot

File doc comment?

daviddavid

This should use ugettext instead of ugettext_lazy.

daviddavid

Localized field name?

daviddavid

Having random blank lines in the middle of this list when there aren't comments is weird. Can we clean that …

daviddavid

'django_reset' imported but unused

reviewbotreviewbot

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot

Blank line after this.

daviddavid

'django_reset' imported but unused

reviewbotreviewbot

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/settings.py
        reviewboard/oauth/forms.py
    
    Ignored Files:
        reviewboard/oauth/__init__.py
    
    
    
    Tool: Pyflakes
    Processed Files:
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/settings.py
        reviewboard/oauth/forms.py
    
    Ignored Files:
        reviewboard/oauth/__init__.py
    
    
  2. reviewboard/settings.py (Diff revision 1)
     
     
    Show all issues
     'django_reset' imported but unused
    
  3. reviewboard/settings.py (Diff revision 1)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  4. 
      
brennie
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/settings.py
        reviewboard/oauth/forms.py
    
    Ignored Files:
        reviewboard/oauth/__init__.py
    
    
    
    Tool: Pyflakes
    Processed Files:
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/settings.py
        reviewboard/oauth/forms.py
    
    Ignored Files:
        reviewboard/oauth/__init__.py
    
    
  2. reviewboard/oauth/forms.py (Diff revision 2)
     
     
    Show all issues
     'RelatedUserWidget' imported but unused
    
  3. reviewboard/settings.py (Diff revision 2)
     
     
    Show all issues
     'django_reset' imported but unused
    
  4. reviewboard/settings.py (Diff revision 2)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  5. 
      
brennie
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/settings.py
        reviewboard/oauth/forms.py
    
    Ignored Files:
        reviewboard/oauth/__init__.py
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/settings.py
        reviewboard/oauth/forms.py
    
    Ignored Files:
        reviewboard/oauth/__init__.py
    
    
  2. reviewboard/settings.py (Diff revision 3)
     
     
    Show all issues
     'django_reset' imported but unused
    
  3. reviewboard/settings.py (Diff revision 3)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  4. 
      
david
  1. 
      
  2. reviewboard/dependencies.py (Diff revision 3)
     
     
    Show all issues

    Do we need to limit the version here to ensure compatibility with Django 1.6.x?

    1. Indeed, we can't even use this package -- we have to use an older one.

  3. reviewboard/oauth/admin.py (Diff revision 3)
     
     
    Show all issues

    Class docstring?

  4. reviewboard/oauth/forms.py (Diff revision 3)
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    Show all issues

    This is kind of hard to read. Can we do all the help text on the next line and indented 4 spaces?

  5. reviewboard/oauth/models.py (Diff revision 3)
     
     
     
     
     
    Show all issues

    d before o.

  6. reviewboard/oauth/models.py (Diff revision 3)
     
     
    Show all issues

    We should have _('Local Site') as the first argument to this to provide a localizable name in the admin.

  7. reviewboard/oauth/models.py (Diff revision 3)
     
     
    Show all issues

    Same here with localizable name.

  8. 
      
brennie
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/oauth/forms.py
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/features/checkers.py
        reviewboard/oauth/tests.py
    
    Ignored Files:
        reviewboard/templates/admin/oauth/application/change_list.html
        reviewboard/static/rb/css/pages/admin.less
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/oauth/forms.py
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/features/checkers.py
        reviewboard/oauth/tests.py
    
    Ignored Files:
        reviewboard/templates/admin/oauth/application/change_list.html
        reviewboard/static/rb/css/pages/admin.less
    
    
  2. reviewboard/oauth/forms.py (Diff revision 4)
     
     
    Show all issues
    Col: 80
     E501 line too long (88 > 79 characters)
    
  3. reviewboard/oauth/tests.py (Diff revision 4)
     
     
    Show all issues
     'override_feature_check' imported but unused
    
  4. 
      
brennie
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/oauth/forms.py
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/features/checkers.py
    
    Ignored Files:
        reviewboard/templates/admin/oauth/application/change_list.html
        reviewboard/static/rb/css/pages/admin.less
    
    
    
    Tool: Pyflakes
    Processed Files:
        reviewboard/oauth/forms.py
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/features/checkers.py
    
    Ignored Files:
        reviewboard/templates/admin/oauth/application/change_list.html
        reviewboard/static/rb/css/pages/admin.less
    
    
  2. reviewboard/oauth/forms.py (Diff revision 5)
     
     
    Show all issues
    Col: 80
     E501 line too long (88 > 79 characters)
    
  3. 
      
brennie
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/oauth/forms.py
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/features/checkers.py
    
    Ignored Files:
        reviewboard/templates/admin/oauth/application/change_list.html
        reviewboard/static/rb/css/pages/admin.less
    
    
    
    Tool: Pyflakes
    Processed Files:
        reviewboard/oauth/forms.py
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/features/checkers.py
    
    Ignored Files:
        reviewboard/templates/admin/oauth/application/change_list.html
        reviewboard/static/rb/css/pages/admin.less
    
    
  2. reviewboard/oauth/forms.py (Diff revision 6)
     
     
    Show all issues
    Col: 80
     E501 line too long (88 > 79 characters)
    
  3. reviewboard/oauth/models.py (Diff revision 6)
     
     
    Show all issues
    Col: 43
     W291 trailing whitespace
    
  4. 
      
brennie
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/oauth/forms.py
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/features/checkers.py
    
    Ignored Files:
        reviewboard/templates/admin/oauth/application/change_list.html
        reviewboard/static/rb/css/pages/admin.less
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/oauth/forms.py
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/features/checkers.py
    
    Ignored Files:
        reviewboard/templates/admin/oauth/application/change_list.html
        reviewboard/static/rb/css/pages/admin.less
    
    
  2. reviewboard/oauth/forms.py (Diff revision 7)
     
     
    Show all issues
    Col: 80
     E501 line too long (88 > 79 characters)
    
  3. 
      
brennie
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/settings.py
        reviewboard/oauth/forms.py
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/features/checkers.py
    
    Ignored Files:
        reviewboard/templates/admin/oauth/application/change_list.html
        reviewboard/oauth/__init__.py
        reviewboard/static/rb/css/pages/admin.less
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/settings.py
        reviewboard/oauth/forms.py
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/features/checkers.py
    
    Ignored Files:
        reviewboard/templates/admin/oauth/application/change_list.html
        reviewboard/oauth/__init__.py
        reviewboard/static/rb/css/pages/admin.less
    
    
  2. reviewboard/oauth/forms.py (Diff revision 8)
     
     
    Show all issues
    Col: 80
     E501 line too long (88 > 79 characters)
    
  3. reviewboard/oauth/models.py (Diff revision 8)
     
     
    Show all issues
    Col: 1
     W391 blank line at end of file
    
  4. reviewboard/settings.py (Diff revision 8)
     
     
    Show all issues
     'django_reset' imported but unused
    
  5. reviewboard/settings.py (Diff revision 8)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  6. 
      
brennie
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/settings.py
        reviewboard/oauth/forms.py
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/features/checkers.py
    
    Ignored Files:
        reviewboard/templates/admin/oauth/application/change_list.html
        reviewboard/oauth/__init__.py
        reviewboard/static/rb/css/pages/admin.less
    
    
    
    Tool: Pyflakes
    Processed Files:
        reviewboard/settings.py
        reviewboard/oauth/forms.py
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/features/checkers.py
    
    Ignored Files:
        reviewboard/templates/admin/oauth/application/change_list.html
        reviewboard/oauth/__init__.py
        reviewboard/static/rb/css/pages/admin.less
    
    
  2. reviewboard/oauth/forms.py (Diff revision 9)
     
     
    Show all issues
    Col: 80
     E501 line too long (88 > 79 characters)
    
  3. reviewboard/settings.py (Diff revision 9)
     
     
    Show all issues
     'django_reset' imported but unused
    
  4. reviewboard/settings.py (Diff revision 9)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  5. 
      
brennie
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/settings.py
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/oauth/forms.py
    
    Ignored Files:
        reviewboard/templates/admin/oauth/application/change_list.html
        reviewboard/oauth/__init__.py
        reviewboard/static/rb/css/pages/admin.less
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/settings.py
        reviewboard/dependencies.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/oauth/forms.py
    
    Ignored Files:
        reviewboard/templates/admin/oauth/application/change_list.html
        reviewboard/oauth/__init__.py
        reviewboard/static/rb/css/pages/admin.less
    
    
  2. reviewboard/oauth/forms.py (Diff revision 10)
     
     
    Show all issues
    Col: 80
     E501 line too long (88 > 79 characters)
    
  3. reviewboard/settings.py (Diff revision 10)
     
     
    Show all issues
     'django_reset' imported but unused
    
  4. reviewboard/settings.py (Diff revision 10)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  5. 
      
david
  1. Because we're introducing a new app, we should simultaneously introduce an AppConfig for django 1.7+. The apps in djblets 0.10 have examples.

  2. reviewboard/oauth/forms.py (Diff revision 10)
     
     
     
     
     
     
    Show all issues

    Formatting has to happen outside of _()

  3. reviewboard/oauth/forms.py (Diff revision 10)
     
     
    Show all issues

    As of Django 1.7, this needs to define either fields or excludes. To match the behavior you have here, use fields = '__all__'

  4. reviewboard/oauth/models.py (Diff revision 10)
     
     
    Show all issues

    Please add a Meta here that defines app_label, db_table, and has localized versions of verbose_name and verbose_name_plural

  5. reviewboard/static/rb/css/pages/admin.less (Diff revision 10)
     
     
     
     
     
    Show all issues

    Should be indented 2 spaces.

  6. 
      
brennie
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/settings.py
        reviewboard/dependencies.py
        reviewboard/oauth/__init__.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/oauth/forms.py
        reviewboard/oauth/admin.py
    
    Ignored Files:
        reviewboard/templates/admin/oauth/application/change_list.html
        reviewboard/static/rb/css/pages/admin.less
    
    
    
    Tool: Pyflakes
    Processed Files:
        reviewboard/settings.py
        reviewboard/dependencies.py
        reviewboard/oauth/__init__.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/oauth/forms.py
        reviewboard/oauth/admin.py
    
    Ignored Files:
        reviewboard/templates/admin/oauth/application/change_list.html
        reviewboard/static/rb/css/pages/admin.less
    
    
  2. reviewboard/oauth/forms.py (Diff revision 11)
     
     
    Show all issues
    Col: 80
     E501 line too long (88 > 79 characters)
    
  3. reviewboard/settings.py (Diff revision 11)
     
     
    Show all issues
     'django_reset' imported but unused
    
  4. reviewboard/settings.py (Diff revision 11)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  5. 
      
chipx86
  1. This looks great, Barret! Thanks, and sorry it took so long to get around to it.

    My comments just concern typos and very trivial things.

  2. reviewboard/oauth/forms.py (Diff revision 11)
     
     
    Show all issues

    This must also return self.cleaned_data.

  3. reviewboard/oauth/forms.py (Diff revision 11)
     
     
    Show all issues

    "but it" -> "but"

  4. reviewboard/oauth/forms.py (Diff revision 11)
     
     
    Show all issues

    "the are" -> "they are"

  5. reviewboard/oauth/forms.py (Diff revision 11)
     
     
    Show all issues

    "users' passwords"

  6. reviewboard/oauth/forms.py (Diff revision 11)
     
     
     
     
    Show all issues

    Rather than space-separated, can we include a textarea and make it line-separated?

  7. reviewboard/oauth/forms.py (Diff revision 11)
     
     
    Show all issues

    Probably want to say "unchecked" instead of "false", I would guess.

  8. reviewboard/oauth/models.py (Diff revision 11)
     
     
    Show all issues

    "is a" -> "is"

  9. Show all issues

    Blank line between these.

  10. Show all issues

    Should include the name of the block. Makes it easier to see in larger templates.

  11. 
      
brennie
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/settings.py
        reviewboard/dependencies.py
        reviewboard/oauth/__init__.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/oauth/forms.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/apps.py
    
    
    
    Tool: Pyflakes
    Processed Files:
        reviewboard/settings.py
        reviewboard/dependencies.py
        reviewboard/oauth/__init__.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/oauth/forms.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/apps.py
    
    
  2. reviewboard/oauth/forms.py (Diff revision 12)
     
     
    Show all issues
    Col: 80
     E501 line too long (88 > 79 characters)
    
  3. reviewboard/settings.py (Diff revision 12)
     
     
    Show all issues
     'django_reset' imported but unused
    
  4. reviewboard/settings.py (Diff revision 12)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  5. 
      
chipx86
  1. Trivial stuff. I'm happy after this.

  2. reviewboard/oauth/forms.py (Diff revision 12)
     
     
     
    Show all issues

    Missing "Returns."

  3. reviewboard/oauth/forms.py (Diff revision 12)
     
     
    Show all issues

    You can wrap before the <. It's valid.

  4. reviewboard/oauth/forms.py (Diff revision 12)
     
     
    Show all issues

    Minor thing, but technically you should get cleaned_data from this, modify that, and return it directly, instead of using self.cleaned_data. In practice, it doesn't matter really, since it's set by the base Form.clean(), but worth doing.

  5. 
      
brennie
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/settings.py
        reviewboard/dependencies.py
        reviewboard/oauth/__init__.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/oauth/forms.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/apps.py
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/settings.py
        reviewboard/dependencies.py
        reviewboard/oauth/__init__.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/oauth/forms.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/apps.py
    
    
  2. reviewboard/settings.py (Diff revision 13)
     
     
    Show all issues
     'django_reset' imported but unused
    
  3. reviewboard/settings.py (Diff revision 13)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  4. 
      
david
  1. 
      
  2. reviewboard/oauth/apps.py (Diff revision 13)
     
     
    Show all issues

    File doc comment?

  3. reviewboard/oauth/forms.py (Diff revision 13)
     
     
     
    Show all issues

    This should use ugettext instead of ugettext_lazy.

  4. reviewboard/oauth/models.py (Diff revision 13)
     
     
    Show all issues

    Localized field name?

  5. reviewboard/settings.py (Diff revision 13)
     
     
     
     
    Show all issues

    Having random blank lines in the middle of this list when there aren't comments is weird. Can we clean that up?

  6. 
      
brennie
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/settings.py
        reviewboard/dependencies.py
        reviewboard/oauth/__init__.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/oauth/forms.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/apps.py
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/settings.py
        reviewboard/dependencies.py
        reviewboard/oauth/__init__.py
        reviewboard/oauth/models.py
        reviewboard/oauth/features.py
        reviewboard/oauth/forms.py
        reviewboard/oauth/admin.py
        reviewboard/oauth/apps.py
    
    
  2. reviewboard/settings.py (Diff revision 14)
     
     
    Show all issues
     'django_reset' imported but unused
    
  3. reviewboard/settings.py (Diff revision 14)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  4. 
      
david
  1. 
      
  2. reviewboard/oauth/apps.py (Diff revision 14)
     
     
    Show all issues

    Blank line after this.

  3. 
      
brennie
Review request changed
Status:
Completed
Change Summary:
Pushed to release-3.0.x (9826566)