Projet

Général

Profil

0001-formdef-expose-urlname-in-API-variables-as-form_slug.patch

Frédéric Péters, 27 juin 2016 18:19

Télécharger (3,89 ko)

Voir les différences:

Subject: [PATCH] formdef: expose urlname in API/variables, as form_slug
 (#11477)

 help/fr/api-user.page       | 3 +++
 help/fr/misc-substvars.page | 8 ++++++++
 tests/test_api.py           | 2 ++
 tests/test_formdata.py      | 1 +
 wcs/formdef.py              | 1 +
 5 files changed, 15 insertions(+)
help/fr/api-user.page
69 69
        "category_name": "Divers",
70 70
        "datetime": "2014-03-28 15:36:52",
71 71
        "form_name": "Demande d'inscription",
72
        "form_slug": "demande-d-inscription",
72 73
        "form_number": "123",
73 74
        "form_number_raw": "123",
74 75
        "form_receipt_date": "28/03/2014",
......
88 89
        "category_name": "Prise de rendez-vous",
89 90
        "datetime": "2014-03-17 10:39:52",
90 91
        "form_name": "Rendez-vous avec le service B",
92
        "form_slug": "rendez-vous-service-b",
91 93
        "form_number": "456",
92 94
        "form_number_raw": "456",
93 95
        "form_receipt_date": "17/03/2014",
......
107 109
        "category_name": "Modification de vos coordonn\u00e9es",
108 110
        "datetime": "2014-03-17 10:42:17",
109 111
        "form_name": "Changement d'adresse",
112
        "form_slug": "changement-d-adresse",
110 113
        "form_number": "424",
111 114
        "form_number_raw": "424",
112 115
        "form_receipt_date": "17/03/2014",
help/fr/misc-substvars.page
120 120
      <td><p>La date et l'heure de réception du formulaire</p></td>
121 121
    </tr>
122 122
    <tr>
123
      <td><p><code>form_name</code></p></td>
124
      <td><p>Le titre du formulaire</p></td>
125
    </tr>
126
    <tr>
123 127
      <td><p><code>form_number</code></p></td>
124 128
      <td><p>Le numéro attribué au formulaire</p></td>
125 129
    </tr>
126 130
    <tr>
131
      <td><p><code>form_slug</code></p></td>
132
      <td><p>Le « slug » (partie d'adresse) du formulaire</p></td>
133
    </tr>
134
    <tr>
127 135
      <td><p><code>form_url</code></p></td>
128 136
      <td><p>L'adresse vers la vue du formulaire</p></td>
129 137
    </tr>
tests/test_api.py
988 988
    resp2 = get_app(pub).get(sign_uri('/myspace/forms', user=local_user))
989 989
    resp3 = get_app(pub).get(sign_uri('/api/users/%s/forms' % local_user.id))
990 990
    assert len(resp.json) == 1
991
    assert resp.json[0]['form_name'] == 'test'
992
    assert resp.json[0]['form_slug'] == 'test'
991 993
    assert resp.json[0]['form_status'] == 'New'
992 994
    assert resp.json[0]['keywords'] == ['hello', 'world']
993 995
    assert resp.json == resp2.json == resp3.json
tests/test_formdata.py
56 56
    substvars = formdata.get_substitution_variables()
57 57
    assert substvars.get('form_status') == 'Unknown'
58 58
    assert substvars.get('form_name') == 'foobar'
59
    assert substvars.get('form_slug') == 'foobar'
59 60

  
60 61
def test_saved(pub):
61 62
    formdef.data_class().wipe()
wcs/formdef.py
964 964
    def get_substitution_variables(self, minimal=False):
965 965
        d = {
966 966
            'form_name': self.name,
967
            'form_slug': self.url_name,
967 968
        }
968 969
        if not minimal:
969 970
            d['form_objects'] = FormDefSubstVar(self)
970
-