Ejemplo n.º 1
0
 def render_order_actions(self, colname, record):
     tag = Tag(Translate(self.request))
     vendor_uid = self.request.form.get('vendor', '')
     if vendor_uid:
         view_order_target = '%s?uid=%s&vendor=%s' % (
             self.context.absolute_url(), str(
                 record.attrs['uid']), vendor_uid)
     else:
         view_order_target = '%s?uid=%s' % (self.context.absolute_url(),
                                            str(record.attrs['uid']))
     view_order_attrs = {
         'ajax:bind': 'click',
         'ajax:target': view_order_target,
         'ajax:overlay': 'order',
         'class_': 'contenttype-document',
         'href': '',
         'title': _('view_order', default=u'View Order'),
     }
     view_order = tag('a', ' ', **view_order_attrs)
     select_order_attrs = {
         'name': 'select_order',
         'type': 'checkbox',
         'value': record.attrs['uid'],
         'class_': 'select_order',
     }
     select_order = tag('input', **select_order_attrs)
     return select_order + view_order
Ejemplo n.º 2
0
    def render_get_actions_for_contact(self, colname, record):
        tag = Tag(Translate(self.request))
        site = plone.api.portal.get()

        view_orders_target = '%s/@@orders#%s' % (
            site.absolute_url(), str(record.attrs['personal_data.email']))

        view_orders_attrs = {
            'class_': 'contenttype-document',
            'href': view_orders_target,
            'title': _('view_orders', default=u'View Orders'),
        }
        view_orders = tag('a', '&nbsp', **view_orders_attrs)

        view_bookings_target = '%s/@@bookings#%s' % (
            site.absolute_url(), str(record.attrs['personal_data.email']))

        view_bookings_attrs = {
            'class_': 'contenttype-document',
            'href': view_bookings_target,
            'title': _('view_bookings', default=u'View Bookings'),
        }
        view_bookings = tag('a', '&nbsp', **view_bookings_attrs)

        return view_orders + view_bookings
Ejemplo n.º 3
0
    def test_data_attrs_helper(self):
        data = AttributedNode()
        widget = AttributedNode()
        widget.attrs['testattr1'] = 'value'
        widget.attrs['testattr2'] = True
        widget.attrs['testattr3'] = False
        widget.attrs['testattr4'] = None
        widget.attrs['testattr5'] = ['item1', 'item2', 'item3']
        widget.attrs['testattr6'] = {
            'key1': 'item1',
            'key2': 'item2',
            'key3': 'item3'
        }
        widget.attrs['testattr7'] = 1234
        widget.attrs['testattr8'] = 1234.5678
        widget.attrs['testattr9'] = UNSET
        widget.attrs['camelAttrName'] = 'camelValue'
        data_attrs_keys = [
            'testattr1', 'testattr2', 'testattr3', 'testattr4', 'testattr5',
            'testattr6', 'testattr7', 'testattr8', 'camelAttrName'
        ]
        data_attrs = data_attrs_helper(widget, data, data_attrs_keys)

        self.assertEqual(data_attrs['data-testattr1'], 'value')
        self.assertEqual(data_attrs['data-testattr2'], 'true')
        self.assertEqual(data_attrs['data-testattr3'], 'false')
        self.assertFalse('data-testattr4' in data_attrs)
        self.assertEqual(data_attrs['data-testattr5'],
                         '["item1", "item2", "item3"]')
        self.assertTrue(data_attrs['data-testattr6'].find('"key1": "item1"'))
        self.assertTrue(data_attrs['data-testattr6'].find('"key2": "item2"'))
        self.assertTrue(data_attrs['data-testattr6'].find('"key3": "item3"'))
        self.assertTrue(data_attrs['data-testattr6'].startswith('{'))
        self.assertTrue(data_attrs['data-testattr6'].endswith('}'))
        self.assertEqual(data_attrs['data-testattr7'], '1234')
        self.assertEqual(data_attrs['data-testattr8'], '1234.5678')
        self.assertFalse('data-testattr9' in data_attrs)
        self.assertEqual(data_attrs['data-camel-attr-name'], 'camelValue')

        # Test with Tag renderer
        tag = Tag(lambda msg: msg)
        self.check_output(
            """
        <dummy
          data-camel-attr-name='camelValue'
          data-testattr1='value'
          data-testattr2='true'
          data-testattr3='false'
          data-testattr5='["item1", "item2", "item3"]'
          data-testattr6='{"..."}'
          data-testattr7='1234'
          data-testattr8='1234.5678'
          name="foo" />
        """, tag('dummy', name='foo', **data_attrs))
Ejemplo n.º 4
0
 def getInfo(self, html=1):
     if not html:
         info = '    yafowil widget processing info:\n'
         info += '    - widget: %s\n' % self.name
         info += '    - task  : %s\n' % self.task
         info += '    - descr : %s' % self.descr
         return info
     tag = Tag(lambda x: x)
     li = tag('li', 'widget: ', tag('strong', self.name))
     li += tag('li', 'task: ', tag('strong', self.task))
     li += tag('li', 'description: ', tag('strong', self.descr))
     return tag('p', 'yafowil widget processing info:', tag('ul', li))
Ejemplo n.º 5
0
    def render_order_actions(self, colname, record):
        order_uid = record.attrs['order_uid']

        tag = Tag(Translate(self.request))
        vendor_uid = self.request.form.get('vendor', '')
        if vendor_uid:
            view_order_target = '%s?uid=%s&vendor=%s' % (
                self.context.absolute_url(), str(order_uid), vendor_uid)
        else:
            view_order_target = '%s?uid=%s' % (self.context.absolute_url(),
                                               str(order_uid))
        view_order_attrs = {
            'ajax:bind': 'click',
            'ajax:target': view_order_target,
            'ajax:overlay': 'order',
            'class_': 'contenttype-document',
            'href': '',
            'title': _('view_order', default=u'View Order'),
        }
        view_order = tag('a', '&nbsp', **view_order_attrs)
        select_order_attrs = {
            'name': 'select_order',
            'type': 'checkbox',
            'value': order_uid,
            'class_': 'select_order',
        }
        select_order = tag('input', **select_order_attrs)

        site = plone.api.portal.get()
        portal_url = site.absolute_url()

        ## Custom print order
        data = OrderData(self.context, uid=order_uid)

        ordernumber = data.order.attrs.get('ordernumber', '')
        email = data.order.attrs.get('personal_data.email', '')

        print_order_attrs = {
            "class_":
            "contenttype-document",
            "href":
            "%s/showorder?ordernumber=%s&email=%s" %
            (portal_url, ordernumber, email),
            "target":
            "_blank",
            "title":
            _('view_order', default=u'View Order'),
        }

        print_order = tag('a', '&nbsp', **print_order_attrs)

        return select_order + print_order
Ejemplo n.º 6
0
 def render_order_actions(self, colname, record):
     tag = Tag(Translate(self.request))
     view_order_target = '%s?uid=%s' % (self.context.absolute_url(),
                                        str(record.attrs['uid']))
     view_order_attrs = {
         'ajax:bind': 'click',
         'ajax:target': view_order_target,
         'ajax:overlay': 'myorder',
         'class_': 'contenttype-document',
         'href': '',
         'title': _('view_order', default=u'View Order'),
     }
     view_order = tag('a', '&nbsp;', **view_order_attrs)
     return view_order
Ejemplo n.º 7
0
 def test_tag_renderer(self):
     # Test Tag renderer
     tag = Tag(lambda msg: msg)
     t = tag('p',
             'Lorem Ipsum. ',
             u'Hello World!',
             class_='fancy',
             id='2f5b8a234ff')
     self.assertEqual(
         t,
         (u'<p class="fancy" id="2f5b8a234ff">Lorem Ipsum. Hello World!</p>'
          ))
     self.assertEqual(tag('dummy', name='foo', **{'data-foo': 'bar'}),
                      u'<dummy data-foo=\'bar\' name="foo" />')
     self.assertEqual(tag('dummy', name=None), u'<dummy />')
     self.assertEqual(tag('dummy', name=UNSET), u'<dummy />')
     # deprecated test
     self.assertEqual(deprecated_tag('div', 'foo'), u'<div>foo</div>')
Ejemplo n.º 8
0
 def render_order_actions_head(self):
     tag = Tag(Translate(self.request))
     select_all_orders_attrs = {
         'name': 'select_all_orders',
         'type': 'checkbox',
         'class_': 'select_all_orders',
         'title': _('select_all_orders',
                    default=u'Select all visible orders'),
     }
     select_all_orders = tag('input', **select_all_orders_attrs)
     notify_customers_target = self.context.absolute_url()
     notify_customers_attributes = {
         'ajax:target':
         notify_customers_target,
         'class_':
         'notify_customers',
         'href':
         '',
         'title':
         _('notify_customers',
           default=u'Notify customers of selected orders'),
     }
     notify_customers = tag('a', '&nbsp;', **notify_customers_attributes)
     return select_all_orders + notify_customers
Ejemplo n.º 9
0
from odict import odict
from node.utils import UNSET
from yafowil.base import ExtractionError
from yafowil.base import factory
from yafowil.controller import Controller
from yafowil.tests import YafowilTestCase
from yafowil.tests import fxml
from yafowil.utils import Tag
import yafowil.common
import yafowil.compound  # noqa

###############################################################################
# Helpers
###############################################################################

tag = Tag(lambda msg: msg)

###############################################################################
# Tests
###############################################################################


class TestCompound(YafowilTestCase):
    def test_compound_blueprint_value_via_compound(self):
        # Render Compound with values set via compound widget
        value = {
            'inner': 'Value 1 from parent',
            'inner2': 'Value 2 from parent',
        }
        compound = factory('compound', name='COMPOUND', value=value)
        compound['inner'] = factory('text')
Ejemplo n.º 10
0
from yafowil.base import factory
from yafowil.base import fetch_value
from yafowil.common import generic_extractor
from yafowil.common import generic_required_extractor
from yafowil.common import select_display_renderer
from yafowil.common import select_edit_renderer
from yafowil.common import select_extractor
from yafowil.utils import Tag
from yafowil.utils import cssclasses
from yafowil.utils import cssid
import types

_ = TranslationStringFactory('cone.app')

# XXX: define i18n translation callback for app
tag = Tag(lambda x: x)


def make_refbrowser_query(request, **kw):
    params = {
        'root': request.params['root'],
        'referencable': request.params['referencable'],
        'selected': request.params['selected'],
    }
    params.update(kw)
    return make_query(**params)


class ReferenceBrowserModelMixin(object):
    @request_property
    def referencable_root(self):
Ejemplo n.º 11
0
 def tag(self):
     return Tag(self.translate_callable)