Esempio n. 1
0
    def render_admin_panel(self, req, cat, page, path_info):
        req.perm(Resource('blog')).require('BLOG_ADMIN')

        blog_admin = {}
        blog_core = FullBlogCore(self.env)

        if req.method == 'POST':
            self.config.set('fullblog', 'num_items_front',
                            req.args.getint('numpostsfront'))
            self.config.set('fullblog', 'default_postname',
                            req.args.get('defaultpostname'))
            self.config.save()
            blog_core.set_bloginfotext(req.args.get('bloginfotext'))
            req.redirect(
                req.href.admin(req.args['cat_id'], req.args['panel_id']))

        blog_admin['bloginfotext'] = blog_core.get_bloginfotext()
        blog_admin['numpostsfront'] = \
                self.config.getint('fullblog', 'num_items_front')
        blog_admin['defaultpostname'] = \
                self.config.get('fullblog', 'default_postname')

        chrome = Chrome(self.env)
        chrome.add_auto_preview(req)
        chrome.add_wiki_toolbars(req)

        return 'fullblog_admin.html', {'blog_admin': blog_admin}
Esempio n. 2
0
    def render_admin_panel(self, req, cat, page, path_info):     
        req.perm(Resource('blog', None)).require('BLOG_ADMIN')

        blog_admin = {}
        blog_core = FullBlogCore(self.env)
        
        if req.method == "POST":
            if req.args.get('savesettings'):
                self.env.config.set('fullblog', 'num_items_front',
                    int(req.args.get('numpostsfront')))
                self.env.config.set('fullblog', 'default_postname',
                    req.args.get('defaultpostname'))
                self.env.config.save()
            elif req.args.get('savebloginfotext'):
                self.env.log.debug("New blog info text = %r" % req.args.get('bloginfotext'))
                is_ok = blog_core.set_bloginfotext(
                        req.args.get('bloginfotext'))
                if is_ok:
                    req.redirect(req.href.admin(req.args['cat_id'],
                            req.args['panel_id']))
                else:
                    add_warning(req, "Error storing text in database. Not saved.")
            else:
                self.log.warning('Unknown POST request: %s', req.args)
        
        blog_admin['bloginfotext'] = blog_core.get_bloginfotext()
        blog_admin['numpostsfront'] = self.env.config.getint(
                                            'fullblog', 'num_items_front')
        blog_admin['defaultpostname'] = self.env.config.get(
                                            'fullblog', 'default_postname')
        
        if hasattr(Chrome(self.env), 'jenv'):       # jinja2
            return ('fullblog_admin.html', {'blog_admin': blog_admin}, None)
        else:                                       # genshi
            return ('fullblog_admin.html', {'blog_admin': blog_admin})
Esempio n. 3
0
    def render_admin_panel(self, req, cat, page, path_info):     
        req.perm(Resource('blog', None)).require('BLOG_ADMIN')

        blog_admin = {}
        blog_core = FullBlogCore(self.env)
        
        if req.method == "POST":
            if req.args.get('savesettings'):
                self.env.config.set('fullblog', 'num_items_front',
                    int(req.args.get('numpostsfront')))
                self.env.config.set('fullblog', 'default_postname',
                    req.args.get('defaultpostname'))
                self.env.config.save()
            elif req.args.get('savebloginfotext'):
                self.env.log.debug("New blog info text = %r" % req.args.get('bloginfotext'))
                is_ok = blog_core.set_bloginfotext(
                        req.args.get('bloginfotext'))
                if is_ok:
                    req.redirect(req.href.admin(req.args['cat_id'],
                            req.args['panel_id']))
                else:
                    add_warning(req, "Error storing text in database. Not saved.")
            else:
                self.log.warning('Unknown POST request: %s', req.args)
        
        blog_admin['bloginfotext'] = blog_core.get_bloginfotext()
        blog_admin['numpostsfront'] = self.env.config.getint(
                                            'fullblog', 'num_items_front')
        blog_admin['defaultpostname'] = self.env.config.get(
                                            'fullblog', 'default_postname')
        
        return ('fullblog_admin.html', {'blog_admin': blog_admin})