예제 #1
0
파일: handler.py 프로젝트: ibz/nuages
    def render_template(self, content_type, template_file, data=None):
        if data is None:
            data = {}
        data['admin'] = users.is_current_user_admin()
        data['settings'] = settings
        query = Page.gql("WHERE order_in_menu > 0 "
                         "ORDER BY order_in_menu")
        data['pages'] = [p for p in query]

        template_path = os.path.join(os.path.dirname(__file__), "templates")
        output = template.render(os.path.join(template_path, template_file), data)

        self.render(content_type, output)
예제 #2
0
파일: handler.py 프로젝트: ibz/nuages
    def render_template(self, content_type, template_file, data=None):
        if data is None:
            data = {}
        data['admin'] = users.is_current_user_admin()
        data['settings'] = settings
        query = Page.gql("WHERE order_in_menu > 0 " "ORDER BY order_in_menu")
        data['pages'] = [p for p in query]

        template_path = os.path.join(os.path.dirname(__file__), "templates")
        output = template.render(os.path.join(template_path, template_file),
                                 data)

        self.render(content_type, output)
예제 #3
0
파일: admin.py 프로젝트: ibz/nuages
    def post(self, slug=None):
        if slug:
            page = Page.gql("WHERE slug = :1", slug).get()
        else:
            page = Page()
        page.title = self.request.get('title')
        page.slug = self.request.get('slug')
        page.content = self.request.get('content')
        page.order_in_menu = int(self.request.get('order_in_menu'))

        page.put()

        self.redirect(page.get_url())
예제 #4
0
파일: admin.py 프로젝트: ibz/nuages
    def post(self, slug=None):
        if slug:
            page = Page.gql("WHERE slug = :1", slug).get()
        else:
            page = Page()
        page.title = self.request.get('title')
        page.slug = self.request.get('slug')
        page.content = self.request.get('content')
        page.order_in_menu = int(self.request.get('order_in_menu'))

        page.put()

        self.redirect(page.get_url())
예제 #5
0
    def get(self, slug):

        # we want a canonical url with the trailing slash
        # so if it's missing we need to throw a 301, adding the slash in 
        # the process
        if slug[-1] != "/":
            self.redirect("%s/" % slug, True)
            return

        output = get_cache(slug)
        if output is None:

            try:
                item = Page.gql("WHERE internal_url=:1", slug)[0]
            except IndexError:
                self.error(404)
                output = self.render("404.html", {"title": "Page not found"})
                self.response.out.write(output)
                return
        
            # get a list of related items based on taggings
            # remember to filter out the article we're on
            related = []
            for tag in item.tags:
                 related += (Tag.all().filter('name =', tag).filter('title !=', item.title))
            
            # we also need to deduplicate the list as sometimes items
            # will share tags
            seen = [] 
            deduped = []
            for related_item in related:
                if not related_item.url in seen:
                    deduped.append(related_item)
                    seen.append(related_item.url)
        
            context = {
                "item": item,
                "related": deduped,
                "title": item.title,
            }
            output = self.render("item.html", context)
            memcache.add(slug, output, 3600)
        self.response.out.write(output)
예제 #6
0
파일: page.py 프로젝트: ibz/nuages
 def get(self, slug):
     page = Page.gql("WHERE slug = :1", slug).get()
     self.render_html("page_view", {'page': page})
예제 #7
0
파일: admin.py 프로젝트: ibz/nuages
 def get(self, slug=None):
     if slug:
         page = Page.gql("WHERE slug = :1", slug).get()
     else:
         page = None
     self.render_html("page_edit", {'page': page})
예제 #8
0
파일: admin.py 프로젝트: ibz/nuages
 def get(self, slug=None):
     if slug:
         page = Page.gql("WHERE slug = :1", slug).get()
     else:
         page = None
     self.render_html("page_edit", {'page': page})
예제 #9
0
파일: page.py 프로젝트: ibz/nuages
 def get(self, slug):
     page = Page.gql("WHERE slug = :1", slug).get()
     self.render_html("page_view", {'page': page})