mirror of
https://github.com/ansible/awx.git
synced 2026-05-07 09:27:36 -02:30
Might help to add the forms for the admin to import.
This commit is contained in:
47
lib/main/forms.py
Normal file
47
lib/main/forms.py
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
import json
|
||||||
|
from django import forms
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
from jsonfield.fields import JSONFormField
|
||||||
|
from lib.main.models import *
|
||||||
|
|
||||||
|
class HostAdminForm(forms.ModelForm):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Host
|
||||||
|
|
||||||
|
vdata = JSONFormField(label=_('Variable data'), required=False, widget=forms.Textarea(attrs={'class': 'vLargeTextField'}))
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super(HostAdminForm, self).__init__(*args, **kwargs)
|
||||||
|
if self.instance.variable_data:
|
||||||
|
print repr(self.instance.variable_data.data)
|
||||||
|
self.initial['vdata'] = self.instance.variable_data.data
|
||||||
|
|
||||||
|
def save(self, commit=True):
|
||||||
|
instance = super(HostAdminForm, self).save(commit=commit)
|
||||||
|
save_m2m = getattr(self, 'save_m2m', lambda: None)
|
||||||
|
vdata = self.cleaned_data.get('vdata', '')
|
||||||
|
print 'vdata', repr(vdata)
|
||||||
|
def new_save_m2m():
|
||||||
|
save_m2m()
|
||||||
|
if not instance.variable_data:
|
||||||
|
instance.variable_data = VariableData.objects.create(data=vdata)
|
||||||
|
instance.save()
|
||||||
|
else:
|
||||||
|
variable_data = instance.variable_data
|
||||||
|
# FIXME!!!
|
||||||
|
#variable_data.data = vdata
|
||||||
|
#variable_data.save()
|
||||||
|
if commit:
|
||||||
|
new_save_m2m()
|
||||||
|
else:
|
||||||
|
self.save_m2m = new_save_m2m
|
||||||
|
return instance
|
||||||
|
|
||||||
|
class GroupForm(forms.ModelForm):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Host
|
||||||
|
|
||||||
|
variable_data = JSONFormField(required=False, widget=forms.Textarea(attrs={'class': 'vLargeTextField'}))
|
||||||
|
|
||||||
Reference in New Issue
Block a user