diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-06-09 10:44:38 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-06-09 10:44:38 +0200 |
commit | 029b469e849b0235bc760b22573c863546795888 (patch) | |
tree | 50c47d22eea0d6b7604bc1b1e76f8af1ff2923f2 | |
parent | fb7732947472e8e996105e488350c9120ab462bc (diff) | |
download | Ishtar-029b469e849b0235bc760b22573c863546795888.tar.bz2 Ishtar-029b469e849b0235bc760b22573c863546795888.zip |
"Shadow" the base item in forms - first work on creation (refs #445)
-rw-r--r-- | ishtar/furnitures/forms.py | 4 | ||||
-rw-r--r-- | ishtar/furnitures/forms_context_records.py | 5 | ||||
-rw-r--r-- | ishtar/furnitures/forms_items.py | 30 | ||||
-rw-r--r-- | ishtar/furnitures/forms_operations.py | 2 |
4 files changed, 28 insertions, 13 deletions
diff --git a/ishtar/furnitures/forms.py b/ishtar/furnitures/forms.py index 3835073dd..5f3c1f0d7 100644 --- a/ishtar/furnitures/forms.py +++ b/ishtar/furnitures/forms.py @@ -301,7 +301,7 @@ class Wizard(NamedUrlSessionFormWizard): value = None dct[key] = value return self.save_model(dct, m2m, whole_associated_models, request, - storage, form_list, return_object) + storage, form_list, return_object=return_object) def get_saved_model(self): """ @@ -316,7 +316,7 @@ class Wizard(NamedUrlSessionFormWizard): return self.get_current_object(request, storage) def save_model(self, dct, m2m, whole_associated_models, request, storage, - form_list, return_object): + form_list, return_object=False): dct = self.get_extra_model(dct, request, storage, form_list) obj = self.get_current_saved_object(request, storage) diff --git a/ishtar/furnitures/forms_context_records.py b/ishtar/furnitures/forms_context_records.py index 7cd477c64..cd5f4e56d 100644 --- a/ishtar/furnitures/forms_context_records.py +++ b/ishtar/furnitures/forms_context_records.py @@ -71,11 +71,12 @@ class RecordWizard(Wizard): return self.get_current_object(request, storage) def save_model(self, dct, m2m, whole_associated_models, request, storage, - form_list, return_object): + form_list, return_object=False): if 'pk' in dct: dct.pop('pk') return super(RecordWizard, self).save_model(dct, m2m, - whole_associated_models, request, storage, form_list, return_object) + whole_associated_models, request, storage, form_list, + return_object=return_object) class RecordModifWizard(RecordWizard): model = models.ContextRecord diff --git a/ishtar/furnitures/forms_items.py b/ishtar/furnitures/forms_items.py index 5775731ff..7831d2a8a 100644 --- a/ishtar/furnitures/forms_items.py +++ b/ishtar/furnitures/forms_items.py @@ -47,16 +47,31 @@ class ItemWizard(Wizard): dct['base_items__context_record'] = dct.pop('pk') return dct -class ItemFormBase(forms.Form): - form_label = _("Base item") + def save_model(self, *args, **kwargs): + print args + print kwargs + kwargs['return_object'] = True + returned, resp = super(ItemWizard, self).save_model(*args, **kwargs) + print returned + return resp + +#class ItemFormBase(forms.Form): +class ItemForm(forms.Form): + form_label = _("Item") base_model = 'base_items' - base_items__label = forms.CharField(label=_(u"General ID"), + associated_models = {'material_type':models.MaterialType,} + base_items__label = forms.CharField(label=_(u"ID"), validators=[validators.MaxLengthValidator(60)]) - base_items__description = forms.CharField(label=_("General description"), + base_items__description = forms.CharField(label=_("Description"), widget=forms.Textarea) base_items__is_isolated = forms.NullBooleanField(label=_(u"Is isolated?"), required=False) - + material_type = forms.ChoiceField(label=_("Material type"), + choices=models.MaterialType.get_types()) + volume = forms.IntegerField(label=_(u"Volume"), required=False) + weight = forms.IntegerField(label=_(u"Weight"), required=False) + item_number = forms.IntegerField(label=_(u"Item number"), required=False) +""" class ItemForm(forms.Form): form_label = _("Item") associated_models = {'material_type':models.MaterialType,} @@ -69,7 +84,7 @@ class ItemForm(forms.Form): volume = forms.IntegerField(label=_(u"Volume"), required=False) weight = forms.IntegerField(label=_(u"Weight"), required=False) item_number = forms.IntegerField(label=_(u"Item number"), required=False) - +""" class DateForm(forms.Form): form_label = _("Dating") base_model = 'dating' @@ -87,8 +102,7 @@ class DateForm(forms.Form): required=False, choices=models.DatingType.get_types()) item_creation_wizard = ItemWizard([ - ('selecrecord-item_creation', RecordFormSelection), - ('base_item-record_creation', ItemFormBase), + ('selecrecord-item_creation', RecordFormSelection),#('base_item-record_creation', ItemFormBase), ('item-item_creation', ItemForm), ('dating-item_creation', DateForm), ('final-item_creation', FinalForm)], diff --git a/ishtar/furnitures/forms_operations.py b/ishtar/furnitures/forms_operations.py index c6b6b9880..f3f487061 100644 --- a/ishtar/furnitures/forms_operations.py +++ b/ishtar/furnitures/forms_operations.py @@ -499,7 +499,7 @@ class OperationAdministrativeActWizard(OperationWizard): return self.get_current_object(request, storage) def save_model(self, dct, m2m, whole_associated_models, request, storage, - form_list, return_object): + form_list, return_object=False): associated_item = self.get_associated_item(request, storage, dct) if not associated_item: return self.render(request, storage, form_list[-1]) |