diff options
Diffstat (limited to 'ishtar/ishtar_base/forms.py')
-rw-r--r-- | ishtar/ishtar_base/forms.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/ishtar/ishtar_base/forms.py b/ishtar/ishtar_base/forms.py index f69b5dcd4..9d106aed0 100644 --- a/ishtar/ishtar_base/forms.py +++ b/ishtar/ishtar_base/forms.py @@ -733,7 +733,8 @@ class ClosingWizard(Wizard): context_instance=RequestContext(request)) def get_form_selection(class_name, label, key, model, base_form, get_url, - not_selected_error=_(u"You should select an item.")): + not_selected_error=_(u"You should select an item."), new=False, + new_message=_(u"Add a new item")): """ Generate a class selection form class_name -- name of the class @@ -742,6 +743,8 @@ def get_form_selection(class_name, label, key, model, base_form, get_url, base_form -- base form to select get_url -- url to get the item not_selected_error -- message displayed when no item is selected + new -- can add new items + new_message -- message of link to add new items """ attrs = {'_main_key':key, '_not_selected_error':not_selected_error, @@ -749,12 +752,15 @@ def get_form_selection(class_name, label, key, model, base_form, get_url, 'associated_models':{key:model}, 'currents':{key:model},} attrs[key] = forms.IntegerField(label="", required=False, - widget=widgets.JQueryJqGrid(reverse_lazy(get_url), - base_form(), model), validators=[models.valid_id(model)]) + validators=[models.valid_id(model)], + widget=widgets.JQueryJqGrid(reverse_lazy(get_url), base_form(), model, + new=new, new_message=new_message)) def clean(self): cleaned_data = self.cleaned_data if self._main_key not in cleaned_data \ or not cleaned_data[self._main_key]: raise forms.ValidationError(self._not_selected_error) return cleaned_data + attrs['clean'] = clean return type(class_name, (forms.Form,), attrs) + |