summaryrefslogtreecommitdiff
path: root/ishtar_common/views.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2013-08-23 18:25:58 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2013-08-23 18:25:58 +0200
commit7be596f41305b4be26796625bd800d58a04bb0a7 (patch)
tree9743bec37b2c651fafecfc373a1d5bb8bc2aadc3 /ishtar_common/views.py
parented74b751839d42d30a74b0d67a47ae138a537377 (diff)
downloadIshtar-7be596f41305b4be26796625bd800d58a04bb0a7.tar.bz2
Ishtar-7be596f41305b4be26796625bd800d58a04bb0a7.zip
PersonType from single value to multi value for Person
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r--ishtar_common/views.py27
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')