From 7d69b2b90a7c831477a2b1668bb9b7346120aaca Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 9 Feb 2017 23:16:25 +0100 Subject: Item keys are now related to the current importer (refs #3451) --- ishtar_common/forms_common.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'ishtar_common/forms_common.py') diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 7ab09f9f7..67299fbac 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -135,7 +135,9 @@ class TargetKeyForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(TargetKeyForm, self).__init__(*args, **kwargs) instance = getattr(self, 'instance', None) + self.associated_import = None if instance and instance.pk: + self.associated_import = instance.associated_import self.fields['target'].widget.attrs['readonly'] = True self.fields['key'].widget.attrs['readonly'] = True self.fields['key'].widget.attrs['title'] = unicode(instance) @@ -162,7 +164,7 @@ class TargetKeyForm(forms.ModelForm): super(TargetKeyForm, self).save(commit) if self.cleaned_data.get('value'): self.instance.is_set = True - self.associated_import = None + self.instance.associated_import = self.associated_import self.instance.save() -- cgit v1.2.3 From 4e512fd38e2fa275112b90d863b67acee3539789 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 17 Feb 2017 16:09:34 +0100 Subject: Accounts: initialize new account with default username extract from raw name --- ishtar_common/forms_common.py | 8 +++++++- ishtar_common/wizards.py | 6 ++++++ 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'ishtar_common/forms_common.py') diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 67299fbac..e2c0e5db5 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -581,6 +581,7 @@ class AccountForm(forms.Form): widget=forms.PasswordInput, required=False) def __init__(self, *args, **kwargs): + person = None if 'initial' in kwargs and 'pk' in kwargs['initial']: try: person = models.Person.objects.get(pk=kwargs['initial']['pk']) @@ -591,7 +592,12 @@ class AccountForm(forms.Form): kwargs['initial']['email'] = account.email except ObjectDoesNotExist: pass - return super(AccountForm, self).__init__(*args, **kwargs) + if 'person' in kwargs: + person = kwargs.pop('person') + super(AccountForm, self).__init__(*args, **kwargs) + if person: + self.fields['username'].initial = \ + person.raw_name.lower().replace(' ', '.') def clean(self): cleaned_data = self.cleaned_data diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index 5105418a5..c2cd54d03 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -1343,6 +1343,12 @@ class AccountWizard(Wizard): context_instance=RequestContext(self.request)) return res + def get_form_kwargs(self, step=None): + kwargs = super(AccountWizard, self).get_form_kwargs(step) + if step == 'account-account_management': + kwargs['person'] = self.get_current_object() + return kwargs + def get_form(self, step=None, data=None, files=None): """ Display the "Send email" field if necessary -- cgit v1.2.3