Conjunto de mudanças 6493 no repositório publico
- Timestamp:
- 13/06/2012 21:22:43 (9 anos atrás)
- Localização:
- PortalInterlegis/produtos/il.portalinterlegis/trunk
- Arquivos:
-
- 7 editados
Legenda:
- Não Modificado
- Adicionado
- Removido
-
PortalInterlegis/produtos/il.portalinterlegis/trunk/inspecao.py
r6492 r6493 11 11 boxmanager = BoxManager(ISimpleBox) 12 12 boxmanager.box_content(context, 1) 13 14 from Testing.ZopeTestCase.utils import startZServer 15 startZServer() 16 17 with open("out", "w+") as f: f.write(browser.contents) -
PortalInterlegis/produtos/il.portalinterlegis/trunk/setup.py
r6489 r6493 31 31 'five.grok', 32 32 'plone.app.theming', 33 'z3c.form',34 33 'plone.directives.form', 34 'plone.app.z3cform', 35 'plone.formwidget.contenttree', 36 'plone.formwidget.autocomplete', 35 37 ], 36 38 extras_require={'test': ['plone.app.testing', 'mock']}, -
PortalInterlegis/produtos/il.portalinterlegis/trunk/src/il/portalinterlegis/browser/interfaces.py
r6489 r6493 3 3 from plone.autoform.interfaces import WIDGETS_KEY 4 4 from plone.directives import form 5 from plone.formwidget.autocomplete import AutocompleteFieldWidget 6 from plone.formwidget.contenttree import PathSourceBinder 5 7 from zope import schema 6 8 from zope.interface import Interface … … 18 20 19 21 # decorator 20 def with_widget(**kwargs):22 def rich(*args, **kwargs): 21 23 def f(cls): 22 cls.setTaggedValue(WIDGETS_KEY, kwargs) 24 cls.setTaggedValue(WIDGETS_KEY, 25 dict([(k, WysiwygFieldWidget) for k in args], 26 **kwargs)) 23 27 return cls 24 28 return f … … 50 54 # BOX INTERFACES 51 55 52 53 56 @template(''' 54 57 <div class="simple-box"> 55 <h2>%(title)s</h2> 56 <h3 class="icon-news"><a href="">%(subtitle)s</a></h3> 57 <p> 58 %(text)s 59 </p> 58 <a href="/portal/%(target)s"> 59 <h2>%(title)s</h2> 60 <h3 class="icon-news">%(subtitle)s</h3> 61 <p> 62 %(text)s 63 </p> 64 </a> 60 65 </div>''') 61 @ with_widget(text=WysiwygFieldWidget)66 @rich('text', target=AutocompleteFieldWidget) 62 67 class ISimpleBox(form.Schema): 63 68 title = schema.TextLine(title=u"Título", required=True) 64 69 subtitle = schema.TextLine(title=u"Subtítulo", required=True) 65 70 text = schema.Text(title=u"Texto", required=False) 71 target = schema.Choice(title=u"Conteúdo relacionado", 72 source=PathSourceBinder(), 73 required=False) 66 74 67 75 @template(''' … … 108 116 </div> 109 117 ''') 118 @rich('text', target=AutocompleteFieldWidget) 110 119 class ICarousel(Interface): 111 pass 120 title = schema.TextLine(title=u"Título", required=True) 121 text = schema.Text(title=u"Texto", required=False) 122 target = schema.Choice(title=u"Conteúdo relacionado", 123 source=PathSourceBinder(portal_type='Document')) 112 124 113 125 @template(''' -
PortalInterlegis/produtos/il.portalinterlegis/trunk/src/il/portalinterlegis/profiles/default/metadata.xml
r6394 r6493 4 4 <dependencies> 5 5 <dependency>profile-plone.app.theming:default</dependency> 6 <dependency>profile-plone.formwidget.contenttree:default</dependency> 7 <dependency>profile-plone.formwidget.autocomplete:default</dependency> 6 8 </dependencies> 7 9 </metadata> -
PortalInterlegis/produtos/il.portalinterlegis/trunk/src/il/portalinterlegis/tests/fixtures.py
r6485 r6493 34 34 import il.portalinterlegis 35 35 xmlconfig.file('configure.zcml', 36 plone.formwidget.contenttree, 37 context=configurationContext) 38 import il.portalinterlegis 39 xmlconfig.file('configure.zcml', 36 40 il.portalinterlegis, 37 41 context=configurationContext) -
PortalInterlegis/produtos/il.portalinterlegis/trunk/src/il/portalinterlegis/tests/testintegration.py
r6486 r6493 79 79 boxmanager = BoxManager(ISimpleBox) 80 80 81 def use_box_form(title, subtitle, text, num):81 def use_box_form(title, subtitle, text, target, num): 82 82 browser = self.layer.manager_browser() 83 83 browser.open(self.url(boxmanager._box_name_for_url(num))) … … 85 85 browser.getControl(name='form.widgets.subtitle').value = subtitle 86 86 browser.getControl(name='form.widgets.text').value = text 87 # TODO: nao sei como testar um AutocompleteFieldWidget com o zope.testbrowser (tem javascript) 88 # browser.getControl(label=u'Conteúdo relacionado').value = target 87 89 browser.getControl(name='form.buttons.apply').click() 88 90 89 use_box_form('TIT_1', 'SUBTIT_1', 'TEXT_1', 1)90 use_box_form('TIT_2', 'SUBTIT_2', 'TEXT_2', 2)91 self.assertEqual({'title': 'TIT_1', 'subtitle': 'SUBTIT_1', 'text': 'TEXT_1' },91 use_box_form('TIT_1', 'SUBTIT_1', 'TEXT_1', 'ALVO_1', 1) 92 use_box_form('TIT_2', 'SUBTIT_2', 'TEXT_2', 'ALVO_2', 2) 93 self.assertEqual({'title': 'TIT_1', 'subtitle': 'SUBTIT_1', 'text': 'TEXT_1', 'target': None}, 92 94 boxmanager.box_content(context, 1)) 93 self.assertEqual({'title': 'TIT_2', 'subtitle': 'SUBTIT_2', 'text': 'TEXT_2' },95 self.assertEqual({'title': 'TIT_2', 'subtitle': 'SUBTIT_2', 'text': 'TEXT_2', 'target': None}, 94 96 boxmanager.box_content(context, 2)) 95 97 -
PortalInterlegis/produtos/il.portalinterlegis/trunk/src/il/portalinterlegis/tests/testunitboxes.py
r6484 r6493 24 24 def test_html(self): 25 25 with patch.object(BoxManager, 'box_content') as mock: 26 mock.return_value = {'title': 'TIT_1', 'subtitle': 'SUBTIT_1', 'text': 'TEXT_1' }26 mock.return_value = {'title': 'TIT_1', 'subtitle': 'SUBTIT_1', 'text': 'TEXT_1', 'target': 'alvo'} 27 27 28 28 boxmanager = BoxManager(ISimpleBox) 29 29 self.assertEqual(''' 30 30 <div class="simple-box"> 31 <h2>TIT_1</h2> 32 <h3 class="icon-news"><a href="">SUBTIT_1</a></h3> 33 <p> 34 TEXT_1 35 </p> 31 <a href="/portal/alvo"> 32 <h2>TIT_1</h2> 33 <h3 class="icon-news">SUBTIT_1</h3> 34 <p> 35 TEXT_1 36 </p> 37 </a> 36 38 </div> 37 39 ''', boxmanager.html(_, _))
Note: Veja
TracChangeset
para ajuda no uso do visualizador de conjunto de mudanças.