Exemple #1
0
    def update_20090123(self):
        """html_content Unicode -> XHTMLBody"""
        from itools.core import merge_dicts
        from itools.html import HTMLParser
        from ikaaro.autoform import XHTMLBody

        site_root = self.get_site_root()
        available_languages = site_root.get_property("website_languages")

        class FakeHandler(FooterMenuFile):
            record_properties = merge_dicts(FooterMenuFile.record_properties, html_content=String(multilingual=True))

        handler = self.handler
        try:
            handler.record_properties = FakeHandler.record_properties
        except IOError:
            # metadata handler exists but not the data one
            return

        old_handler = FakeHandler()
        old_handler.load_state_from_string(self.handler.to_str())
        for record_id in old_handler.get_record_ids():
            old_record = old_handler.get_record(record_id)
            old_get_value = old_handler.get_record_value
            for lang in available_languages:
                html_content = old_get_value(old_record, "html_content", lang)
                if html_content is None:
                    continue
                # string -> events
                events = HTMLParser(html_content)
                p_value = Property(XHTMLBody.encode(events), language=lang)
                old_handler.update_record(record_id, **{"html_content": p_value})

        handler.load_state_from_string(old_handler.to_str())
        handler.set_changed()
Exemple #2
0
def get_linked_resources_message(resource, context, state='public'):
    # Customize message if webpage uses private/pending resources
    referenced_resources = list(get_linked_resources(resource))
    if len(referenced_resources) == 0:
        return None

    message = MSG(u'This {title} uses pending/private resources '
                  u'please go to '
                  u'<a href="{path}/;backlinks">backlinks interface</a>.')
    path = context.get_link(resource)
    path = XMLContent.encode(path)
    class_title = resource.class_title.gettext()
    message = message.gettext(title=class_title,
                              path=path).encode('utf8')
    message = XHTMLBody.decode(message)
    # Return custom message
    return message
Exemple #3
0
def build_warn_referenced_msg(resource, context, total):
    path = context.get_link(resource)
    path = XMLContent.encode(path)
    message = MSG_UNPUBLISHED_RESOURCES_LINKED(path=path, n=total)
    message = message.gettext().encode('utf8')
    return XHTMLBody.decode(message)
Exemple #4
0
 def get_value(self, resource, context, name, datatype):
     if name == 'configuration_shortcut':
         html = '<a href="/;edit_contact_options">configuration</a>'
         return XHTMLBody.decode(html)
     proxy = super(BoxContact_Edit, self)
     return proxy.get_value(resource, context, name, datatype)