summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commit029b469e849b0235bc760b22573c863546795888 (patch)
tree50c47d22eea0d6b7604bc1b1e76f8af1ff2923f2
parentfb7732947472e8e996105e488350c9120ab462bc (diff)
downloadIshtar-029b469e849b0235bc760b22573c863546795888.tar.bz2
Ishtar-029b469e849b0235bc760b22573c863546795888.zip
"Shadow" the base item in forms - first work on creation (refs #445)
-rw-r--r--ishtar/furnitures/forms.py4
-rw-r--r--ishtar/furnitures/forms_context_records.py5
-rw-r--r--ishtar/furnitures/forms_items.py30
-rw-r--r--ishtar/furnitures/forms_operations.py2
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])