summaryrefslogtreecommitdiff
path: root/ishtar_common/forms_common.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@proxience.com>2015-05-04 01:10:40 +0200
committerÉtienne Loks <etienne.loks@proxience.com>2015-05-04 01:10:40 +0200
commitada0ab4962eb437bfbd2b300c5aca69bf5719bfb (patch)
treedcfa2689395822cf1475deb1a6107bebb6006701 /ishtar_common/forms_common.py
parent0500c0a5098c2b3347ffd36faaa692e97be3b5a4 (diff)
downloadIshtar-ada0ab4962eb437bfbd2b300c5aca69bf5719bfb.tar.bz2
Ishtar-ada0ab4962eb437bfbd2b300c5aca69bf5719bfb.zip
Imports: manage unmatched item links
Diffstat (limited to 'ishtar_common/forms_common.py')
-rw-r--r--ishtar_common/forms_common.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py
index b6971c4f4..677656af6 100644
--- a/ishtar_common/forms_common.py
+++ b/ishtar_common/forms_common.py
@@ -98,6 +98,43 @@ class NewImportForm(forms.ModelForm):
self.instance.user = user
return super(NewImportForm, self).save(commit)
+class TargetKeyForm(forms.ModelForm):
+ class Meta:
+ model = models.TargetKey
+ fields = ('target', 'value', 'key')
+ widgets = {
+ 'value': forms.TextInput(attrs={'readonly':'readonly'}),
+ 'key': forms.Select(),
+ }
+
+ def __init__(self, *args, **kwargs):
+ super(TargetKeyForm, self).__init__(*args, **kwargs)
+ instance = getattr(self, 'instance', None)
+ if instance and instance.pk:
+ self.fields['target'].widget.attrs['readonly'] = True
+ self.fields['value'].widget.attrs['readonly'] = True
+ self.fields['key'].widget.choices = list(instance.target.get_choices())
+
+ def clean_target(self):
+ instance = getattr(self, 'instance', None)
+ if instance and instance.pk:
+ return instance.target
+ else:
+ return self.cleaned_data['target']
+
+ def clean_value(self):
+ instance = getattr(self, 'instance', None)
+ if instance and instance.pk:
+ return instance.value
+ else:
+ return self.cleaned_data['value']
+
+ def save(self, commit=True):
+ super(TargetKeyForm, self).save(commit)
+ if self.cleaned_data.get('value'):
+ self.instance.is_set = True
+ self.instance.save()
+
class OrganizationForm(NewItemForm):
form_label = _(u"Organization")
associated_models = {'organization_type':models.OrganizationType}