Projet

Général

Profil

0001-ics-add-formdata-description-with-backoffice-url-184.patch

Serghei Mihai (congés, retour 15/05), 27 octobre 2017 16:23

Télécharger (2,78 ko)

Voir les différences:

Subject: [PATCH] ics: add formdata description with backoffice url (#18406)

 tests/test_api.py            | 11 +++++++++++
 wcs/backoffice/management.py |  7 +++++++
 2 files changed, 18 insertions(+)
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', re.MULTILINE)
1614
    m = pattern.findall(resp.body)
1615
    assert len(m) == 10
1616
    assert resp.body.count('Jean Darmette') == 10
1610 1617

  
1611 1618
    # check with a filter
1612 1619
    resp = get_app(pub).get(sign_uri('/api/forms/test/ics/foobar?filter=done', user=local_user))
1613 1620
    assert resp.body.count('BEGIN:VEVENT') == 20
1621
    pattern = re.compile('DESCRIPTION:testé \| 1-\d+ \| Finished', re.MULTILINE)
1622
    m = pattern.findall(resp.body)
1623
    assert len(m) == 20
1624
    assert resp.body.count('Jean Darmette') == 20
1614 1625

  
1615 1626
    # check 404 on erroneous field var
1616 1627
    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\n'  % (form_name, formdata.get_display_id(), status_name)
1653
                    description += formdata.get_url(backoffice=True)
1654
                    if formdata.user_id:
1655
                        description += '\n%s' % unicode(formdata.user.get_display_name(), charset)
1656
                    vevent.add('description').value = description
1650 1657
                    cal.add(vevent)
1651 1658

  
1652 1659
                get_response().set_content_type('text/calendar')
1653
-