Example #1
0
class Languages(Actions):
    """Languages actions::

        >>> langs = Languages('fr', 'en')
        >>> langs
        <Languages [<ListItem lang_fr>, <ListItem lang_en>]>

    It take care about the active language::

        >>> from webob import Request
        >>> request = Request.blank('/')
        >>> request.cookies['_LOCALE_'] = 'fr'
        >>> request.route_url = lambda name, _query: 'http://localhost/set_language?_LOCALE_=%(_LOCALE_)s' % _query
        >>> print langs.render(request) #doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
        <li><a href="http://localhost/set_language?_LOCALE_=fr" class="lang_fr lang_active" id="lang_fr">French</a></li>
        <li><a href="http://localhost/set_language?_LOCALE_=en" class="lang_en " id="lang_en">English</a></li>
        
    """
    translations = {
            'fr': _('French'),
            'en': _('English'),
            'pt_BR': _('Brazilian'),
            }

    def __init__(self, *args, **kwargs):
        Actions.__init__(self)
        klass=kwargs.get('class_', ListItem)
        for l in args:
            self.append(
                klass(id='lang_%s' % l,
                      content=self.translations.get(l, _(l)), attrs={
                        'class':"string:lang_%s ${request.cookies.get('_LOCALE_') == '%s' and 'lang_active' or ''}" % (l, l),
                        'href':"request.route_url('set_language', _query={'_LOCALE_': '%s'})" % l
                      }
                  ))
Example #2
0
 def __init__(self, *args, **kwargs):
     list.__init__(self)
     klass=kwargs.get('class_', ListItem)
     for l in args:
         self.append(
             klass(id='lang_%s' % l,
                   content=self.translations.get(l, _(l)), attrs={
                     'class':"string:lang_%s ${request.cookies.get('_LOCALE_') == '%s' and 'lang_active' or ''}" % (l, l),
                     'href':"request.route_url('set_language', _query={'_LOCALE_': '%s'})" % l
                   }
               ))
Example #3
0
 def __init__(self, *args, **kwargs):
     Actions.__init__(self)
     klass=kwargs.get('class_', ListItem)
     for l in args:
         self.append(
             klass(id='lang_%s' % l,
                   content=self.translations.get(l, _(l)), attrs={
                     'class':"string:lang_%s ${request.cookies.get('_LOCALE_') == '%s' and 'lang_active' or ''}" % (l, l),
                     'href':"request.route_url('set_language', _query={'_LOCALE_': '%s'})" % l
                   }
               ))
Example #4
0
 def __init__(self, *args, **kwargs):
     Actions.__init__(self)
     klass=kwargs.get('class_', Option)
     if len(args) == 1 and args[0] == '*':
         args = self.themes
     for theme in args:
         label = theme.replace('_', ' ')
         self.append(
             klass(id='theme_%s' % theme,
                   content=_(label), attrs={
                     'selected':"string:${request.cookies.get('_THEME_') == '%s' and 'selected' or None}" % theme,
                     'value':"request.route_url('set_theme', _query={'_THEME_': '%s'})" % theme
                   }
               ))
Example #5
0
 def __init__(self, *args, **kwargs):
     Actions.__init__(self)
     klass=kwargs.get('class_', Option)
     if len(args) == 1 and args[0] == '*':
         args = self.themes
     for theme in args:
         label = theme.replace('_', ' ')
         self.append(
             klass(id='theme_%s' % theme,
                   content=_(label), attrs={
                     'selected':"string:${request.cookies.get('_THEME_') == '%s' and 'selected' or None}" % theme,
                     'value':"request.route_url('set_theme', _query={'_THEME_': '%s'})" % theme
                   }
               ))
Example #6
0
                    </ul>
               </li>'''

    def __init__(self, *args, **kwargs):
        Actions.__init__(self, *args, **kwargs)
        actions.Action.__init__(self, **kwargs)

    def render(self, request, **kwargs):
        items = Actions.render(self, request, **kwargs)
        self.rcontext.update(items=items)
        return actions.Action.render(self, request)


new = UIButton(
        id='new',
        content=_('New ${model_label}'),
        permission='new',
        _class='btn primary',
        attrs=dict(href="request.fa_url(request.model_name, 'new')"),
        )


save = UIButton(
        id='save',
        content=_('Save'),
        permission='edit',
        _class='btn success',
        attrs=dict(onclick="jQuery(this).parents('form').submit();"),
        )

save_and_add_another = UIButton(
Example #7
0
                    </ul>
               </li>"""

    def __init__(self, *args, **kwargs):
        Actions.__init__(self, *args, **kwargs)
        actions.Action.__init__(self, **kwargs)

    def render(self, request, **kwargs):
        items = Actions.render(self, request, **kwargs)
        self.rcontext.update(items=literal(items))
        return actions.Action.render(self, request)


new = UIButton(
    id="new",
    content=_("New ${model_label}"),
    permission="new",
    _class="btn btn-primary",
    attrs=dict(href="request.fa_url(request.model_name, 'new')"),
)


save = UIButton(
    id="save",
    content=_("Save"),
    permission="edit",
    _class="btn btn-success",
    attrs=dict(onclick="jQuery(this).parents('form').submit();"),
)

save_and_add_another = UIButton(