Projet

Général

Profil

0001-don-t-display-portfolio-pick-link-if-it-s-not-presen.patch

Thomas Noël, 21 avril 2017 17:20

Télécharger (3,41 ko)

Voir les différences:

Subject: [PATCH] don't display portfolio pick link if it's not present
 (#15944)

 tests/test_form_pages.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 wcs/qommon/form.py       |  4 +++-
 2 files changed, 51 insertions(+), 1 deletion(-)
tests/test_form_pages.py
1742 1742
    assert 'Check values then click submit.' in resp.body
1743 1743
    assert 'form_captcha' in resp.body
1744 1744

  
1745
def test_form_file_field_with_fargo(pub, fargo_url):
1746
    user = create_user(pub)
1747
    formdef = create_formdef()
1748
    file_field = fields.FileField(id='0', label='file')
1749
    formdef.fields = [file_field]
1750
    formdef.store()
1751
    formdef.data_class().wipe()
1752

  
1753
    assert file_field.allow_portfolio_picking == True
1754

  
1755
    resp = get_app(pub).get('/test/')
1756
    assert 'f0$file' in resp.body
1757
    assert 'fargo.js' not in resp.body
1758
    assert 'use-file-from-fargo' not in resp.body
1759

  
1760
    resp = login(get_app(pub), username='foo', password='foo').get('/test/')
1761
    assert 'f0$file' in resp.body
1762
    assert 'fargo.js' in resp.body
1763
    assert 'use-file-from-fargo' in resp.body
1764

  
1765
    file_field.allow_portfolio_picking = False
1766
    formdef.store()
1767

  
1768
    resp = login(get_app(pub), username='foo', password='foo').get('/test/')
1769
    assert 'f0$file' in resp.body
1770
    assert 'fargo.js' not in resp.body
1771
    assert 'use-file-from-fargo' not in resp.body
1772

  
1773
def test_form_file_field_without_fargo(pub):
1774
    user = create_user(pub)
1775
    formdef = create_formdef()
1776
    file_field = fields.FileField(id='0', label='file')
1777
    formdef.fields = [file_field]
1778
    formdef.store()
1779
    formdef.data_class().wipe()
1780

  
1781
    assert file_field.allow_portfolio_picking == True
1782

  
1783
    resp = get_app(pub).get('/test/')
1784
    assert 'f0$file' in resp.body
1785
    assert 'fargo.js' not in resp.body
1786
    assert 'use-file-from-fargo' not in resp.body
1787

  
1788
    resp = login(get_app(pub), username='foo', password='foo').get('/test/')
1789
    assert 'f0$file' in resp.body
1790
    assert 'fargo.js' not in resp.body
1791
    assert 'use-file-from-fargo' not in resp.body
1792

  
1745 1793
def test_form_file_field_submit(pub):
1746 1794
    formdef = create_formdef()
1747 1795
    formdef.fields = [fields.FileField(id='0', label='file')]
wcs/qommon/form.py
61 61
from quixote.html import htmltext, htmltag, htmlescape, TemplateIO
62 62
from quixote.util import randbytes
63 63

  
64
from wcs.portfolio import has_portfolio
65

  
64 66
from qommon import _, ngettext
65 67
import misc
66 68
from strftime import strftime
......
624 626
        self.value = value
625 627
        self.readonly = kwargs.get('readonly')
626 628
        self.max_file_size = kwargs.pop('max_file_size', None)
627
        self.allow_portfolio_picking = kwargs.pop('allow_portfolio_picking', True)
629
        self.allow_portfolio_picking = has_portfolio() and kwargs.pop('allow_portfolio_picking', True)
628 630
        if self.max_file_size:
629 631
            self.max_file_size_bytes = FileSizeWidget.parse_file_size(self.max_file_size)
630 632
        self.add(HiddenWidget, 'token')
631
-