0001-ics-add-formdata-description-with-backoffice-url-184.patch
tests/test_api.py | ||
---|---|---|
9 | 9 |
import base64 |
10 | 10 |
import hashlib |
11 | 11 |
import mock |
12 |
import re |
|
12 | 13 |
import urllib |
13 | 14 |
import urlparse |
14 | 15 |
import datetime |
... | ... | |
1607 | 1608 |
resp = get_app(pub).get(sign_uri('/api/forms/test/ics/foobar', user=local_user)) |
1608 | 1609 |
assert resp.headers['content-type'] == 'text/calendar; charset=utf-8' |
1609 | 1610 |
assert resp.body.count('BEGIN:VEVENT') == 10 |
1611 |
# check that description contains form name, display id, workflow status, |
|
1612 |
# backoffice url and attached user |
|
1613 |
pattern = re.compile('DESCRIPTION:testé \| 1-\d+ \| New\s+http://example.net/backoffice/management/test/\d+/\s+(.+)', re.MULTILINE) |
|
1614 |
m = pattern.findall(resp.body) |
|
1615 |
assert len(m) == 10 |
|
1616 |
for user in m: |
|
1617 |
assert user.strip() == 'Jean Darmette' |
|
1610 | 1618 | |
1611 | 1619 |
# check with a filter |
1612 | 1620 |
resp = get_app(pub).get(sign_uri('/api/forms/test/ics/foobar?filter=done', user=local_user)) |
1613 | 1621 |
assert resp.body.count('BEGIN:VEVENT') == 20 |
1622 |
pattern = re.compile('DESCRIPTION:testé \| 1-\d+ \| Finished\s+http://example.net/backoffice/management/test/\d+/\s+(.+)', re.MULTILINE) |
|
1623 |
m = pattern.findall(resp.body) |
|
1624 |
assert len(m) == 20 |
|
1625 |
for user in m: |
|
1626 |
assert user.strip() == 'Jean Darmette' |
|
1614 | 1627 | |
1615 | 1628 |
# check 404 on erroneous field var |
1616 | 1629 |
resp = get_app(pub).get(sign_uri('/api/forms/test/ics/xxx', user=local_user), status=404) |
wcs/backoffice/management.py | ||
---|---|---|
1647 | 1647 |
vevent.add('dtstart').value = make_datetime(formdata.data[datefield_field_id]) |
1648 | 1648 |
vevent.dtstart.value_param = 'DATE' |
1649 | 1649 |
vevent.add('url').value = formdata.get_url(backoffice=True) |
1650 |
form_name = unicode(formdef.name, charset) |
|
1651 |
status_name = unicode(formdata.get_status().name, charset) |
|
1652 |
description = '%s | %s | %s' % (form_name, formdata.get_display_id(), status_name) |
|
1653 |
description = description.ljust(74, ' ') |
|
1654 |
description += formdata.get_url(backoffice=True).ljust(74, ' ') |
|
1655 |
if formdata.user_id: |
|
1656 |
description += unicode(formdata.user.get_display_name(), charset).ljust(74, ' ') |
|
1657 |
vevent.add('description') |
|
1658 |
vevent.description.value = description |
|
1650 | 1659 |
cal.add(vevent) |
1651 | 1660 | |
1652 | 1661 |
get_response().set_content_type('text/calendar') |
1653 |
- |