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') | 
