diff options
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r-- | ishtar_common/views.py | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 346edc0d7..54d2e26a0 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -51,8 +51,9 @@ if settings.XHTML2ODT_PATH: from menus import menu from ishtar_common.forms import FinalForm -from ishtar_common.forms_common import PersonForm, PersonFormSelection,\ - AccountForm, FinalAccountForm, OrganizationForm, AuthorForm +from ishtar_common.forms_common import PersonForm, PersonTypeForm, \ + PersonFormSelection, AccountForm, FinalAccountForm, OrganizationForm, \ + AuthorForm from ishtar_common.wizards import PersonWizard, PersonModifWizard, AccountWizard import models @@ -75,6 +76,7 @@ def index(request): person_creation_wizard = PersonWizard.as_view([ ('identity-person_creation', PersonForm), + ('person_type-person_creation', PersonTypeForm), ('final-person_creation', FinalForm)], label=_(u"New person"), url_name='person_creation') @@ -82,6 +84,7 @@ person_creation_wizard = PersonWizard.as_view([ person_modification_wizard = PersonModifWizard.as_view([ ('selec-person_modification', PersonFormSelection), ('identity-person_modification', PersonForm), + ('person_type-person_creation', PersonTypeForm), ('final-person_modification', FinalForm)], label=_(u"Person modification"), url_name='person_modification') @@ -108,12 +111,10 @@ def check_permission(request, action_slug, obj_id=None): return menu.items[action_slug].is_available(request.user, obj_id) return menu.items[action_slug].can_be_available(request.user) -def autocomplete_person(request, person_type=None): - person_types = request.user.ishtaruser.person.person_type - if (not request.user.has_perm('ishtar_common.view_person', models.Person) and - not request.user.has_perm('ishtar_common.view_own_person', models.Person) - and not person_types.rights.filter(wizard__url_name='person_search' - ).count()): +def autocomplete_person(request, person_types=None): + if not request.user.has_perm('ishtar_common.view_person', models.Person) and \ + not request.user.has_perm('ishtar_common.view_own_person', models.Person) \ + and not request.user.ishtaruser.has_right('person_search'): return HttpResponse(mimetype='text/plain') if not request.GET.get('term'): return HttpResponse(mimetype='text/plain') @@ -127,11 +128,11 @@ def autocomplete_person(request, person_type=None): for q in q.split(' '): query = query & (Q(name__icontains=q) | Q(surname__icontains=q) | \ Q(email__icontains=q)) - if person_type: + if person_types: try: - typs = [int(tp) for tp in person_type.split('_') if tp] + typs = [int(tp) for tp in person_types.split('_') if tp] typ = models.PersonType.objects.filter(pk__in=typs).all() - query = query & Q(person_type__in=typ) + query = query & Q(person_types__in=typ) except (ValueError, ObjectDoesNotExist): pass limit = 20 @@ -465,13 +466,11 @@ def revert_item(model): return func def autocomplete_organization(request, orga_type=None): - person_types = request.user.ishtaruser.person.person_type if (not request.user.has_perm('ishtar_common.view_organization', models.Organization) and \ not request.user.has_perm('ishtar_common.view_own_organization', models.Organization) - and not person_types.rights.filter(wizard__url_name='person_search' - ).count()): + and not request.user.ishtaruser.has_right('person_search')): return HttpResponse(mimetype='text/plain') if not request.GET.get('term'): return HttpResponse(mimetype='text/plain') |