diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-10-20 21:52:43 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-10-20 21:52:43 +0200 |
commit | 5b8c7201eefa8b404afb0cb89b389fd3e8f92899 (patch) | |
tree | 1f1887c1153c40cd4323c482856e5f281ec1dc97 /ishtar_common/forms.py | |
parent | 111fb54c79daf2a1bcfe624f103f02da650e8741 (diff) | |
download | Ishtar-5b8c7201eefa8b404afb0cb89b389fd3e8f92899.tar.bz2 Ishtar-5b8c7201eefa8b404afb0cb89b389fd3e8f92899.zip |
Djangoization - Major refactoring (step 6)
Work on wizard, views and forms to dispatch logic in a more
relevant way.
Diffstat (limited to 'ishtar_common/forms.py')
-rw-r--r-- | ishtar_common/forms.py | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index 62f51fa08..d66d6d4cc 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -101,120 +101,16 @@ class FormSet(BaseFormSet): form.fields[DELETION_FIELD_NAME].label = '' form.fields[DELETION_FIELD_NAME].widget = widgets.DeleteWidget() -''' -class SearchWizard(NamedUrlSessionFormWizard): - model = None - - def get_wizard_name(self): - """ - As the class name can interfere when reused, use the url_name - """ - return self.url_name - - def get_template(self, request, storage): - templates = ['search.html'] - return templates - def get_now(): format = formats.get_format('DATE_INPUT_FORMATS')[0] value = datetime.datetime.now().strftime(format) return value -class DeletionWizard(Wizard): - def get_formated_datas(self, forms): - datas = super(DeletionWizard, self).get_formated_datas(forms) - self.current_obj = None - for form in forms: - if not hasattr(form, "cleaned_data"): - continue - for key in form.cleaned_data: - if key == 'pk': - model = form.associated_models['pk'] - self.current_obj = model.objects.get(pk=form.cleaned_data['pk']) - if not self.current_obj: - return datas - res = {} - for field in self.model._meta.fields + self.model._meta.many_to_many: - if field.name not in self.fields: - continue - value = getattr(self.current_obj, field.name) - if not value: - continue - if hasattr(value, 'all'): - value = ", ".join([unicode(item) for item in value.all()]) - if not value: - continue - else: - value = unicode(value) - res[field.name] = (field.verbose_name, value, '') - if not datas and self.fields: - datas = [['', []]] - for field in self.fields: - if field in res: - datas[0][1].append(res[field]) - return datas - - def done(self, request, storage, form_list, **kwargs): - obj = self.get_current_object(request, storage) - obj.delete() - return render_to_response('wizard_delete_done.html', {}, - context_instance=RequestContext(request)) - class ClosingDateFormSelection(forms.Form): form_label = _("Closing date") end_date = forms.DateField(label=_(u"Closing date"), widget=widgets.JQueryDate) -class ClosingWizard(Wizard): - # "close" an item - # to be define in the overloaded class - model = None - fields = [] - - def get_formated_datas(self, forms): - datas = super(ClosingWizard, self).get_formated_datas(forms) - self.current_obj = None - for form in forms: - if not hasattr(form, "cleaned_data"): - continue - for key in form.cleaned_data: - if key == 'pk': - model = form.associated_models['pk'] - self.current_obj = model.objects.get( - pk=form.cleaned_data['pk']) - if not self.current_obj: - return datas - res = {} - for field in self.model._meta.fields + self.model._meta.many_to_many: - if field.name not in self.fields: - continue - value = getattr(self.current_obj, field.name) - if not value: - continue - if hasattr(value, 'all'): - value = ", ".join([unicode(item) for item in value.all()]) - if not value: - continue - else: - value = unicode(value) - res[field.name] = (field.verbose_name, value, '') - if not datas and self.fields: - datas = [['', []]] - for field in self.fields: - if field in res: - datas[0][1].append(res[field]) - return datas - - def done(self, request, storage, form_list, **kwargs): - obj = self.get_current_object(request, storage) - for form in form_list: - if form.is_valid(): - if 'end_date' in form.cleaned_data and hasattr(obj, 'end_date'): - obj.end_date = form.cleaned_data['end_date'] - obj.save() - return render_to_response('wizard_closing_done.html', {}, - 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."), new=False, new_message=_(u"Add a new item")): @@ -246,4 +142,3 @@ def get_form_selection(class_name, label, key, model, base_form, get_url, return cleaned_data attrs['clean'] = clean return type(class_name, (forms.Form,), attrs) -''' |