Projet

Général

Profil

0001-wscall-add-a-description-label-9958.patch

Thomas Noël, 16 février 2016 11:51

Télécharger (3,15 ko)

Voir les différences:

Subject: [PATCH] wscall: add a description label (#9958)

 tests/test_admin_pages.py | 23 +++++++++++++++++++++++
 wcs/wf/wscall.py          | 11 ++++++++++-
 2 files changed, 33 insertions(+), 1 deletion(-)
tests/test_admin_pages.py
25 25
from wcs.data_sources import NamedDataSource
26 26
from wcs.roles import Role
27 27
from wcs.workflows import Workflow, DisplayMessageWorkflowStatusItem
28
from wcs.wf.wscall import WebserviceCallStatusItem
28 29
from wcs.formdef import FormDef
29 30
from wcs import fields
30 31

  
......
1697 1698
    resp = resp.form.submit('submit')
1698 1699
    assert Workflow.get(workflow.id).global_actions[0].triggers[0].roles == ['_receiver']
1699 1700

  
1701
def test_workflows_wscall_label(pub):
1702
    create_superuser(pub)
1703
    create_role()
1704

  
1705
    Workflow.wipe()
1706
    workflow = Workflow(name='foo')
1707
    baz_status = workflow.add_status(name='baz')
1708
    wscall = WebserviceCallStatusItem()
1709
    wscall.parent = baz_status
1710
    baz_status.items.append(wscall)
1711
    workflow.store()
1712

  
1713
    app = login(get_app(pub))
1714
    resp = app.get('/backoffice/workflows/%s/status/%s/' % (workflow.id, baz_status.id))
1715
    assert 'Webservice Call' in resp.body
1716
    assert 'Webservice Call "' not in resp.body
1717

  
1718
    wscall.label = 'foowscallbar'
1719
    workflow.store()
1720
    resp = app.get('/backoffice/workflows/%s/status/%s/' % (workflow.id, baz_status.id))
1721
    assert 'Webservice Call "foowscallbar"' in resp.body
1722

  
1700 1723
def test_users(pub):
1701 1724
    create_superuser(pub)
1702 1725
    app = login(get_app(pub))
wcs/wf/wscall.py
56 56
    key = 'webservice_call'
57 57
    support_substitution_variables = True
58 58

  
59
    label = None
59 60
    url = None
60 61
    varname = None
61 62
    post = True
......
69 70
    notify_on_errors = True
70 71
    record_errors = False
71 72

  
73
    def render_as_line(self):
74
        if self.label:
75
            return _('Webservice Call "%s"') % self.label
76
        else:
77
            return _('Webservice Call')
78

  
72 79
    def get_parameters(self):
73 80
        return ('url', 'post', 'varname', 'request_signature_key', 'post_data',
74 81
                'action_on_4xx', 'action_on_5xx', 'action_on_bad_data',
75 82
                'action_on_network_errors', 'notify_on_errors',
76
                'record_errors')
83
                'record_errors', 'label')
77 84

  
78 85
    def add_parameters_widgets(self, form, parameters, prefix='', formdef=None):
86
        if 'label' in parameters:
87
            form.add(StringWidget, '%slabel' % prefix, size=40, title=_('Label'), value=self.label)
79 88
        if 'url' in parameters:
80 89
            form.add(StringWidget, '%surl' % prefix,
81 90
                     title=_('URL'), value=self.url, size=80,
82
-