Projet

Général

Profil

0001-api-include-digest-when-querying-cards-formdatas-391.patch

Frédéric Péters, 24 janvier 2020 10:55

Télécharger (3,76 ko)

Voir les différences:

Subject: [PATCH] api: include digest when querying cards/formdatas (#39188)

 tests/test_api.py            | 5 +++++
 wcs/backoffice/management.py | 2 ++
 wcs/carddata.py              | 3 +++
 wcs/formdata.py              | 7 +++++++
 4 files changed, 17 insertions(+)
tests/test_api.py
2791 2791
    carddef.name = 'test'
2792 2792
    carddef.fields = [fields.StringField(id='0', label='foobar', varname='foo')]
2793 2793
    carddef.workflow_roles = {'_viewer': role.id}
2794
    carddef.digest_template = 'bla {{ form_var_foo }} xxx'
2794 2795
    carddef.store()
2795 2796

  
2796 2797
    formdata = carddef.data_class()()
......
2806 2807
    assert len(resp.json['data']) == 1
2807 2808
    assert resp.json['data'][0]['display_id'] == formdata.get_display_id()
2808 2809
    assert resp.json['data'][0]['display_name'] == formdata.get_display_name()
2810
    assert resp.json['data'][0]['digest'] == formdata.digest
2811
    assert resp.json['data'][0]['text'] == formdata.digest
2809 2812
    resp = get_app(pub).get(sign_uri(
2810 2813
        '/api/cards/test/list?NameID=%s&full=on' %
2811 2814
        local_user.name_identifiers[0]))
2812 2815
    assert resp.json['data'][0]['fields']['foo'] == 'blah'
2816
    assert resp.json['data'][0]['digest'] == formdata.digest
2817
    assert resp.json['data'][0]['text'] == formdata.digest
wcs/backoffice/management.py
1848 1848
            output = [{'id': filled.id,
1849 1849
                'display_id': filled.get_display_id(),
1850 1850
                'display_name': filled.get_display_name(),
1851
                'digest': filled.digest,
1852
                'text': filled.get_display_label(),
1851 1853
                'url': filled.get_url(),
1852 1854
                'receipt_time': datetime.datetime(*filled.receipt_time[:6]),
1853 1855
                'last_update_time': datetime.datetime(*filled.last_update_time[:6]),
wcs/carddata.py
44 44
            if isinstance(value, six.string_types):
45 45
                item[field.varname] = value
46 46
        return item
47

  
48
    def get_display_label(self):
49
        return self.digest or self.get_display_name()
wcs/formdata.py
996 996
                'name': self.formdef.name,
997 997
                'id': self.get_display_id()}
998 998

  
999
    def get_display_label(self):
1000
        if self.digest:
1001
            return '%s (%s)' % (self.get_display_name(), self.digest)
1002
        return self.get_display_name()
1003

  
999 1004
    def get_auto_geoloc(self):
1000 1005
        # use proper geolocation if it exists
1001 1006
        if self.geolocations:
......
1011 1016
    def get_json_export_dict(self, include_files=True, anonymise=False, user=None):
1012 1017
        data = {}
1013 1018
        data['id'] = str(self.id)
1019
        data['digest'] = self.digest
1014 1020
        data['display_id'] = self.get_display_id()
1015 1021
        data['display_name'] = self.get_display_name()
1022
        data['text'] = self.get_display_label()
1016 1023
        data['receipt_time'] = datetime.datetime(*self.receipt_time[:6])
1017 1024
        data['last_update_time'] = datetime.datetime(*self.last_update_time[:6])
1018 1025
        data['criticality_level'] = self.criticality_level
1019
-