Skip to content

Commit 6bd1c68

Browse files
humitosagjohnson
authored andcommitted
Allow extend Translation and Subproject form logic from corporate (#3937)
* Allow extend Translation and Subproject form logic from corporate * Remove old style setting override
1 parent 64def2d commit 6bd1c68

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

readthedocs/projects/forms.py

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
from __future__ import (
55
absolute_import, division, print_function, unicode_literals)
66

7-
from builtins import object
87
from random import choice
98

9+
from builtins import object
1010
from django import forms
1111
from django.conf import settings
1212
from django.contrib.auth.models import User
@@ -19,6 +19,7 @@
1919

2020
from readthedocs.builds.constants import TAG
2121
from readthedocs.core.utils import slugify, trigger_build
22+
from readthedocs.core.utils.extend import SettingsOverrideObject
2223
from readthedocs.integrations.models import Integration
2324
from readthedocs.oauth.models import RemoteRepository
2425
from readthedocs.projects import constants
@@ -230,7 +231,7 @@ class Meta(object):
230231
)
231232

232233

233-
class ProjectRelationshipForm(forms.ModelForm):
234+
class ProjectRelationshipBaseForm(forms.ModelForm):
234235

235236
"""Form to add/update project relationships."""
236237

@@ -243,7 +244,7 @@ class Meta(object):
243244
def __init__(self, *args, **kwargs):
244245
self.project = kwargs.pop('project')
245246
self.user = kwargs.pop('user')
246-
super(ProjectRelationshipForm, self).__init__(*args, **kwargs)
247+
super(ProjectRelationshipBaseForm, self).__init__(*args, **kwargs)
247248
# Don't display the update form with an editable child, as it will be
248249
# filtered out from the queryset anyways.
249250
if hasattr(self, 'instance') and self.instance.pk is not None:
@@ -281,6 +282,10 @@ def get_subproject_queryset(self):
281282
return queryset
282283

283284

285+
class ProjectRelationshipForm(SettingsOverrideObject):
286+
_default_class = ProjectRelationshipBaseForm
287+
288+
284289
class DualCheckboxWidget(forms.CheckboxInput):
285290

286291
"""Checkbox with link to the version's built documentation."""
@@ -481,7 +486,7 @@ def save(self):
481486
return self.project
482487

483488

484-
class TranslationForm(forms.Form):
489+
class TranslationBaseForm(forms.Form):
485490

486491
"""Project translation form."""
487492

@@ -490,7 +495,7 @@ class TranslationForm(forms.Form):
490495
def __init__(self, *args, **kwargs):
491496
self.parent = kwargs.pop('parent', None)
492497
self.user = kwargs.pop('user')
493-
super(TranslationForm, self).__init__(*args, **kwargs)
498+
super(TranslationBaseForm, self).__init__(*args, **kwargs)
494499
self.fields['project'].choices = self.get_choices()
495500

496501
def get_choices(self):
@@ -563,6 +568,10 @@ def save(self):
563568
return project
564569

565570

571+
class TranslationForm(SettingsOverrideObject):
572+
_default_class = TranslationBaseForm
573+
574+
566575
class RedirectForm(forms.ModelForm):
567576

568577
"""Form for project redirects."""

0 commit comments

Comments
 (0)