Projet

Général

Profil

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

Serghei Mihai (congés, retour 15/05), 09 octobre 2017 17:32

Télécharger (4,18 ko)

Voir les différences:

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

 tests/test_api.py                     | 10 ++++++----
 wcs/backoffice/management.py          |  2 ++
 wcs/templates/wcs/ics/description.txt |  1 +
 3 files changed, 9 insertions(+), 4 deletions(-)
 create mode 100644 wcs/templates/wcs/ics/description.txt
tests/test_api.py
133 133
    signature = urllib.quote(
134 134
            base64.b64encode(
135 135
                hmac.new('1234',
136
                    'format=json&orig=coucou&algo=sha1', 
136
                    'format=json&orig=coucou&algo=sha1',
137 137
                    hashlib.sha1).digest()))
138 138
    output = get_app(pub).get('/api/user/?format=json&orig=coucou&algo=sha1&signature=%s' % signature, status=403)
139 139
    assert output.json['err_desc'] == 'missing/multiple timestamp field'
......
144 144
    signature = urllib.quote(
145 145
            base64.b64encode(
146 146
                hmac.new('1234',
147
                    query, 
147
                    query,
148 148
                    hashlib.sha1).digest()))
149 149
    output = get_app(pub).get('/api/user/?%s&signature=%s' % (query, signature), status=403)
150 150
    assert output.json['err_desc'] == 'no user specified'
......
195 195
    signature = urllib.quote(
196 196
            base64.b64encode(
197 197
                hmac.new('1234',
198
                    query, 
198
                    query,
199 199
                    hashlib.sha1).digest()))
200 200
    output = get_app(pub).get('/api/user/?%s&signature=%s' % (query, signature))
201 201
    assert output.json['user_display_name'] == u'Jean Darmette'
......
206 206
    signature = urllib.quote(
207 207
            base64.b64encode(
208 208
                hmac.new('1234',
209
                    query, 
209
                    query,
210 210
                    hashlib.sha1).digest()))
211 211
    output = get_app(pub).get('/api/user/?%s&signature=%s' % (query, signature), status=403)
212 212
    assert output.json['err_desc'] == 'invalid signature'
......
1607 1607
    resp = get_app(pub).get(sign_uri('/api/forms/test/ics/foobar', user=local_user))
1608 1608
    assert resp.headers['content-type'] == 'text/calendar; charset=utf-8'
1609 1609
    assert resp.body.count('BEGIN:VEVENT') == 10
1610
    assert resp.body.count('DESCRIPTION:http://example.net/backoffice/management/test/') == 10
1610 1611

  
1611 1612
    # check with a filter
1612 1613
    resp = get_app(pub).get(sign_uri('/api/forms/test/ics/foobar?filter=done', user=local_user))
1613 1614
    assert resp.body.count('BEGIN:VEVENT') == 20
1615
    assert resp.body.count('DESCRIPTION:http://example.net/backoffice/management/test/') == 20
1614 1616

  
1615 1617
    # check 404 on erroneous field var
1616 1618
    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
                    context = RequestContext(get_request().django_request, {'form': formdata.get_as_dict()})
1651
                    vevent.add('description').value = formdata.get_url(backoffice=True)
1650 1652
                    cal.add(vevent)
1651 1653

  
1652 1654
                get_response().set_content_type('text/calendar')
wcs/templates/wcs/ics/description.txt
1

  
0
-