Пример #1
0
 def get(self):
   contents = Content.all().fetch(1000)
   theme_packages = ThemePackage.all().fetch(1000)
   themes = Theme.all().fetch(1000)
   pages = Page.all().fetch(1000)
   images = Image.all().fetch(1000)
   roles = Role.all().fetch(1000)
   sections = Section.all().fetch(1000)
   _users = User.all().fetch(1000)
   actions = ACTIONS
   template_values = {'logout_url':self.ws.users.create_logout_url('/'),'theme_packages': theme_packages,'themes': themes, 'images': images, 'pages': pages, 'contents':contents, 'roles':roles, 'users':_users, 'actions': actions, 'sections': sections, 'site': self.ws.site}
   self.response.out.write(template.render('templates/manage.html',template_values))
Пример #2
0
        def get(self):
            if self.ws.site is None:
                self.redirect("/install")
                return False
            path = self.request.path
            # print path
            user_control = ""
            user_label = ""

            def kv_q(x):
                x = x.split("=")
                if len(x) < 2:
                    return x[0]
                return {x[0]: x[1]}

            page = Page.get_by_name(path)
            if not page:
                self.error(404)
                return False
            if not self.permission_check(page):
                self.error(403)
                self.redirect("/")
                return False
            admin_html = ""
            if page:
                if not page.theme:
                    page.theme = Theme.create(
                        {
                            "name": ["default" + page.name],
                            "html": [open("defaults/template.html").read()],
                            "css": [open("defaults/template.css").read()],
                            "js": [""],
                        }
                    )
                    page.put()
                if not page.sections:
                    page.get_or_make_sections()
                user = self.ws.users.get_current_user(self)
                if user:
                    auth = [{"user_control": self.ws.users.create_account_url(path), "user_label": "Account"}]

                    if self.ws.users.is_current_user_admin(self):
                        admin_html = self.generate_admin_html(page, user)
                else:
                    auth = [
                        {"user_control": self.ws.users.create_register_url(path), "user_label": "Register"},
                        {"user_control": self.ws.users.create_login_url(path), "user_label": "Login"},
                    ]
                page_theme = page.theme
                page_content_template = template.Template(page.build_template())
                sections = page.get_sections()
                section_dict = {}
                site_users = User.all().fetch(1000)
                for section in sections:
                    section_dict[section.name] = section
                user_control_link = ""
                for control in auth:
                    user_control_link += "<a href='%s' class='account control'>%s</a>" % (
                        control["user_control"],
                        control["user_label"],
                    )
                page_content_template_values = {
                    "site_users": site_users,
                    "ws": self.ws,
                    "page": page,
                    "sections": section_dict,
                    "user_control_link": user_control_link,
                }
                page_content = self.render_string(page_content_template, page_content_template_values)
                page_template_html = open("defaults/outer.html").read()
                page_template = template.Template(page_template_html)
                template_values = {
                    "title": page.title,
                    "css": page_theme.css,
                    "content": page_content,
                    "js": page_theme.js,
                    "admin_content": admin_html,
                }
                self.render_string_out(page_template, template_values)
            else:
                self.error(404)