diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-07-11 14:50:53 +0200 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-07-11 14:50:53 +0200 |
| commit | 02c349dc5605586226de7c5cdc72d3a0c7495e2b (patch) | |
| tree | d726836911699234f9921bc23d5bedebf57985d1 /ishtar_common | |
| parent | bac43478fb56bf44ab61b1979bbcdaa7dffd7b7b (diff) | |
| parent | 4fcc46584a2f55048173c0d718be5bf76a74127d (diff) | |
| download | Ishtar-02c349dc5605586226de7c5cdc72d3a0c7495e2b.tar.bz2 Ishtar-02c349dc5605586226de7c5cdc72d3a0c7495e2b.zip | |
Merge branch 'v0.9' into wheezy
Diffstat (limited to 'ishtar_common')
| -rw-r--r-- | ishtar_common/forms_common.py | 2 | ||||
| -rw-r--r-- | ishtar_common/tests.py | 30 | ||||
| -rw-r--r-- | ishtar_common/wizards.py | 9 |
3 files changed, 36 insertions, 5 deletions
diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 61e9f1a88..44af3a588 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -595,7 +595,7 @@ class AccountForm(forms.Form): if 'person' in kwargs: person = kwargs.pop('person') super(AccountForm, self).__init__(*args, **kwargs) - if person: + if person and person.raw_name: self.fields['username'].initial = \ person.raw_name.lower().replace(' ', '.') diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index 174918dd4..536d6d4a8 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -129,15 +129,45 @@ class WizardTestFormData(object): accepting two parameters: the current test object and the final step response """ + self.name = name self.form_datas = form_datas self.ignored = ignored[:] self.pre_tests = pre_tests self.extra_tests = extra_tests + def set(self, form_name, field_name, value): + """ + Set data value. + + :param form_name: form name without wizard name + :param field_name: field name + :param value: value + :return: None + """ + self.form_datas[form_name][field_name] = value + + def append(self, form_name, value): + """ + Add data value to formset. + + :param form_name: form name without wizard name + :param value: value + :return: None + """ + self.form_datas[form_name].append(value) + def inits(self, test_object): """ Initialisations before the wizard. """ + + suffix = '-' + test_object.url_name + # if form names are defined without url_name fix it + for form_name in self.form_datas.keys(): + if suffix in form_name: + continue + self.form_datas[form_name + suffix] = self.form_datas.pop(form_name) + for pre in self.pre_tests: pre(test_object) diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index 8d787d733..3f90f8c48 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -1232,10 +1232,11 @@ class DeletionWizard(Wizard): def done(self, form_list, **kwargs): obj = self.get_current_object() - try: - obj.delete() - except ObjectDoesNotExist: - pass + if obj: + try: + obj.delete() + except ObjectDoesNotExist: + pass return render_to_response( 'ishtar/wizard/wizard_delete_done.html', {}, context_instance=RequestContext(self.request)) |
