Changed project property available_playbooks to playbooks, exposed via API as a child resource of the project detail. Changed project local_path to a CharField and added helper method and API attribute to show the list of available choices for local_path.

This commit is contained in:
Chris Church
2013-05-10 00:44:13 -04:00
parent fdceb46c12
commit d7737f6b43
12 changed files with 414 additions and 51 deletions

View File

@@ -68,6 +68,18 @@ class GroupForm(forms.ModelForm):
variable_data = JSONFormField(required=False, widget=forms.Textarea(attrs={'class': 'vLargeTextField'}))
class ProjectAdminForm(forms.ModelForm):
'''Custom admin form for Projects.'''
local_path = forms.ChoiceField(choices=[])
class Meta:
model = Project
def __init__(self, *args, **kwargs):
super(ProjectAdminForm, self).__init__(*args, **kwargs)
self.fields['local_path'].choices = [(x, x) for x in Project.get_local_path_choices()]
class JobTemplateAdminForm(forms.ModelForm):
'''Custom admin form for creating/editing JobTemplates.'''
@@ -80,7 +92,7 @@ class JobTemplateAdminForm(forms.ModelForm):
super(JobTemplateAdminForm, self).__init__(*args, **kwargs)
playbook_choices = []
for project in Project.objects.all():
for playbook in project.available_playbooks:
for playbook in project.playbooks:
playbook_choices.append((playbook,
PlaybookOption(project, playbook)))
self.fields['playbook'].choices = [EMPTY_CHOICE] + playbook_choices