Esempio n. 1
0
    def build_namespace(self, context):
        here = context.resource
        shop = context.site_root.get_resource('shop')
        site_root = context.site_root
        namespace = NeutralSkin.build_namespace(self, context)
        # Title
        # Menu XXX Done in ikaaro nav
        namespace['menu'] = get_menu_namespace(context,
                                               self.menu_level,
                                               src='menu')
        # Search
        namespace['product_search_text'] = context.get_query_value(
            'product_search_text')
        # XXX Page id css (see itws)
        class_id = getattr(here, 'class_id', None)
        if class_id:
            view_name = context.view_name or here.get_default_view_name()
            page_css_id = 'page-%s-%s' % (class_id, view_name)
            page_css_id = page_css_id.replace('_', '-')
            namespace['page_css_id'] = page_css_id.lower()
        else:
            namespace['page_css_id'] = None

        # Cart preview
        cart_preview = site_root.cart_preview_class().GET(shop, context)
        namespace['cart_preview'] = cart_preview
        # Page title
        namespace['page_title'] = context.resource.get_title()
        # Current view type
        namespace['is_on_view_product'] = isinstance(context.resource, Product)
        # Dynamic property
        dynamic_property = ShopSkinDynamicProperty()
        dynamic_property.context = context
        dynamic_property.resource = self
        namespace['dynamic_property'] = dynamic_property
        # Canonical uri XXX (see bug #1144)
        if site_root != here:
            namespace['canonical_uri'].path.endswith_slash = True
        # Get admin bar
        site_root_ac = site_root.get_access_control()
        if site_root_ac.is_allowed_to_edit(context.user, site_root):
            namespace['admin_bar'] = AdminBarTemplate(context=context)
        else:
            namespace['admin_bar'] = None
        # Modules
        shop_module = ModuleLoader()
        shop_module.context = context
        shop_module.here = context.resource
        namespace['module'] = shop_module
        return namespace
Esempio n. 2
0
 def get_namespace(self, resource, context):
     # Modules
     shop_module = ModuleLoader()
     shop_module.context = context
     shop_module.here = context.resource
     # Return namespace
     return {
         'news': self.get_rss_news(context),
         'announce': self.get_announce(context),
         'module': shop_module,
         # Last resources created
         'products': self.get_last_resources(context, 'product', 13),
         'issues': self.get_last_resources(context, 'itws-issue', 13),
         'orders': self.get_last_resources(context, 'order')
     }
Esempio n. 3
0
 def get_namespace(self, context):
     root = context.root
     # Get dynamic user values
     dynamic_user_value = ResourceDynamicProperty()
     dynamic_user_value.schema = self.get_dynamic_schema()
     dynamic_user_value.resource = self
     # Module
     shop_module = ModuleLoader()
     shop_module.context = context
     shop_module.here = self
     # Get modules items
     modules_items = []
     search = context.root.search(is_shop_user_module=True)
     for brain in search.get_documents():
         shop_user_module = root.get_resource(brain.abspath)
         modules_items.append({
             'name': shop_user_module.element_name,
             'title': shop_user_module.element_title,
             'href': shop_user_module.element_name,
             'img': shop_user_module.class_icon48
         })
     # Ctime
     ctime = self.get_property('ctime')
     accept = context.accept_language
     # ACLS
     ac = self.get_access_control()
     is_authenticated = ac.is_authenticated(context.user, self)
     is_owner = context.user is not None and context.user.name == self.name
     # Build namespace
     return {
         'name': self.name,
         'link': context.get_link(self),
         'module': shop_module,
         'dynamic_user_value': dynamic_user_value,
         'is_owner': is_owner,
         'is_authenticated': is_authenticated,
         'ctime':
         format_datetime(ctime, accept) if ctime else None,  # XXX Why ?
         'items': self.base_items + modules_items
     }
Esempio n. 4
0
            win.add(model())
        else:
            win.add(model)
        win.show_all()

        gtk.main()

class ManyTest:
    def __init__(self, widgets):
        win = gtk.Window()

        win.connect('destroy', lambda *w: gtk.main_quit())
        win.set_position(gtk.WIN_POS_CENTER)

        win.set_title("Many test")
        
        vbox = gtk.VBox(False, 10)
        win.add(vbox)

        for widget in widgets:
            vbox.pack_start(widget, False, False, 5)

        win.show_all()

        gtk.main()

if __name__ == '__main__':
    from modules import ModuleLoader
    loader = ModuleLoader(sys.argv[1])
    Test(loader.id_table.values()[0])