Exemplo n.º 1
0
    def init_resource(self, **kw):
        kw['website_is_open'] = 'extranet'
        # TODO allow to choose language at website creation
        default_language = 'en'
        # Initialize ikaaro website (Parent class)
        WebSite.init_resource(self, **kw)
        # Init bars
        Website_BarAware.init_resource(self, **kw)
        # Add a sitemap
        self.make_resource('sitemap.xml', self.sitemap_class)
        # Create Robots.txt
        self.make_resource('robots.txt', RobotsTxt)
        # Add an image folder
        self.make_resource('images', Folder)
        # Tags
        self.make_resource('tags', self.tagsfolder_class,
                           language=default_language)
        # Add default news folder
        self.make_resource('news', self.newsfolder_class)
        # About
        self.make_resource('about-itws', AboutITWS,
                       title={default_language: MSG(u'About ITWS').gettext()})

        # Add link to news in menu
        theme = self.get_resource('theme')
        menu = theme.get_resource('menu/menu')
        menu.add_new_record({'path': '/news/',
                             'title': Property(MSG(u'News').gettext(),
                                               language='en')})
        # Create a 'Welcome' html-content item in ws-data
        # Order this item in the contentbar
        path = get_abspath(self.first_contenbar)
        handler = ro_database.get_handler('%s.%s' % (path, default_language),
                                          XHTMLFile)
        ws_data = self.get_resource('ws-data')
        ws_data.make_resource('welcome', HTMLContent,
                  title={default_language: MSG(u'Welcome').gettext()},
                  state='public',
                  display_title=True,
                  body=handler.to_str(),
                  language=default_language)
        table = ws_data.get_resource('order-contentbar')
        table.add_new_record({'name': 'welcome'})

        # Create a 'Welcome' html-content item in repository
        # Order this item in the sidebar
        path = get_abspath(self.first_sidebar)
        handler = ro_database.get_handler('%s.%s' % (path, default_language),
                                          XHTMLFile)
        repository = self.get_resource('repository')
        repository.make_resource('first-sidebar', HTMLContent,
                  title={default_language: MSG(u'My first sidebar').gettext()},
                  state='public',
                  display_title=True,
                  body=handler.to_str(),
                  language=default_language)
        table = ws_data.get_resource('order-sidebar')
        table.add_new_record({'name': 'first-sidebar'})
Exemplo n.º 2
0
    def get_document_types(self):
        types = WebSite.get_document_types(self)
        # News Folder can only be instanciated once
        if self.newsfolder_class:
            if self.get_news_folder(get_context()) is None:
                types.append(self.newsfolder_class)

        return types + [Section, RssFeeds]
Exemplo n.º 3
0
Arquivo: website.py Projeto: TZM/zmgc
 def _get_resource(self, name):
     if name == 'ui':
         ui = UI(ui_path)
         ui.database = self.metadata.database
         return ui
     root = self.get_root()
     if name in ('users', 'users.metadata'):
         return self.parent._get_resource(name)
     if name in ('chapters', 'chapters.metadata'):
         return root._get_resource(name)
     if name in ('countries', 'countries.metadata'):
         return root._get_resource(name)
     if name in ('phoenix', 'phoenix.metadata'):
         return root._get_resource(name)
     if name in ('projects', 'cprojects.metadata'):
         return root._get_resource(name)
     return BaseWebSite._get_resource(self, name)
Exemplo n.º 4
0
 def update_20100701(self):
     # Fix website vhosts
     WebSite.update_20100430(self)
Exemplo n.º 5
0
 def get_skin(self, context):
     # TODO It's an interesting mechanism (add in ikaaro)
     if (context.get_query_value('is_admin_popup', type=Boolean) is True
           or getattr(context.view, 'is_popup', False)):
         return self.get_resource('/ui/admin-popup/')
     return WebSite.get_skin(self, context)
Exemplo n.º 6
0
 def get_catalog_values(self):
     return merge_dicts(WebSite.get_catalog_values(self),
                        Website_BarAware.get_catalog_values(self))
Exemplo n.º 7
0
Arquivo: website.py Projeto: TZM/zmgc
 def _get_catalog_values(self):
     values = BaseWebSite._get_catalog_values(self)
     values['vhosts'] = self.get_property('vhosts')
     return values