diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-08-26 23:55:44 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-08-26 23:55:44 +0200 |
commit | 1fc4bbbaeb62032a6a14d3353381d74f175eb342 (patch) | |
tree | 521a78f091de04ec15654218d7ec8aefd67bb0fa /ishtar_common/views.py | |
parent | 54b86803f7a9e2c1013669d72212238cd74debe7 (diff) | |
download | Ishtar-1fc4bbbaeb62032a6a14d3353381d74f175eb342.tar.bz2 Ishtar-1fc4bbbaeb62032a6a14d3353381d74f175eb342.zip |
Change Person selection form - add a Person sheet (refs #425)
* change sheet creation to allow non historized object
* add related names corresponding to person for operation, files and
sources (through Author)
* use a jqGrid associated to a form to select persons
* create sheet templates for persons
* add appropriate urls
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r-- | ishtar_common/views.py | 41 |
1 files changed, 26 insertions, 15 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 554fcc839..2278cf47a 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -374,21 +374,23 @@ def show_item(model, name): date = 'date' in dct and dct.pop('date') dct['window_id'] = "%s-%d-%s" % (name, item.pk, datetime.datetime.now().strftime('%M%s')) - if date: - try: - date = datetime.datetime.strptime(date, '%Y-%m-%dT%H:%M:%S.%f') - item = item.get_previous(date=date) - assert item != None - except (ValueError, AssertionError): - return HttpResponse(None, mimetype='text/plain') - dct['previous'] = item._previous - dct['next'] = item._next - else: - historized = item.history.all() - if historized: - item.history_date = historized[0].history_date - if len(historized) > 1: - dct['previous'] = historized[1].history_date + if hasattr(item, 'history'): + if date: + try: + date = datetime.datetime.strptime(date, + '%Y-%m-%dT%H:%M:%S.%f') + item = item.get_previous(date=date) + assert item != None + except (ValueError, AssertionError): + return HttpResponse(None, mimetype='text/plain') + dct['previous'] = item._previous + dct['next'] = item._next + else: + historized = item.history.all() + if historized: + item.history_date = historized[0].history_date + if len(historized) > 1: + dct['previous'] = historized[1].history_date dct['item'], dct['item_name'] = item, name context_instance = RequestContext(request) context_instance.update(dct) @@ -545,6 +547,15 @@ def new_item(model, frm): new_person = new_item(models.Person, PersonForm) new_organization = new_item(models.Organization, OrganizationForm) new_author = new_item(models.Author, AuthorForm) +show_person = show_item(models.Person, 'person') +get_person = get_item(models.Person, + 'get_person', 'person', + extra_request_keys={ + 'name':'name__icontains', + 'surname':'surname__icontains', + 'attached_to':'attached_to__pk', + 'person_types':'person_types__pk__in', + },) def action(request, action_slug, obj_id=None, *args, **kwargs): """ |