diff options
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/models.py | 2 | ||||
-rw-r--r-- | ishtar_common/urls.py | 5 | ||||
-rw-r--r-- | ishtar_common/views.py | 16 |
3 files changed, 22 insertions, 1 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index c8056a4ab..f16b9ffc9 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -2919,7 +2919,7 @@ class Person(Address, Merge, OwnPerms, ValueGetter, MainItem): return actions actions += [ ( - reverse("person_create", args=[self.pk]), + reverse("account_creation", args=[self.pk]), _("Create new user"), "fa fa-user", "", diff --git a/ishtar_common/urls.py b/ishtar_common/urls.py index 7bbdc189f..c21f51d71 100644 --- a/ishtar_common/urls.py +++ b/ishtar_common/urls.py @@ -203,6 +203,11 @@ urlpatterns = [ name="account_deletion", ), url( + r"account_creation/(?P<step>.+)?$", + check_rights(["add_ishtaruser"])(views.account_creation_wizard), + name="account_creation", + ), + url( r"^import-new/$", check_rights(["change_import"])(views.NewImportView.as_view()), name="new_import", diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 6f5953841..5b67f1bcb 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -319,6 +319,12 @@ account_management_wizard = wizards.AccountWizard.as_view( url_name="account_management", ) +account_creation_wizard = wizards.AccountWizard.as_view( + account_wizard_steps, + label=_("Account creation"), + url_name="account_creation", +) + account_deletion_wizard = wizards.IshtarUserDeletionWizard.as_view( [ ("selec-account_deletion", forms.AccountFormSelection), @@ -328,6 +334,16 @@ account_deletion_wizard = wizards.IshtarUserDeletionWizard.as_view( url_name="account_deletion", ) +def account_create(request, pk): + if not wizard_is_available(account_creation_wizard, request, models.IshtarUser): + return HttpResponseRedirect("/") + wizards.AccountWizard.session_set_value( + request, "selec-account_management", "pk", pk, reset=True + ) + return redirect( + reverse("account_creation", kwargs={"step": "account-account_management"}) + ) + def get_autocomplete_generic(model, extra=None): if not extra: |