def sort(self, almanac_slug, page_slug): almanac = h.get_almanac_by_slug(almanac_slug) if page_slug: page = h.get_page_by_slug(almanac, page_slug) else: page = almanac.new_page(self.ensure_user) return self._sort(page)
def _do_edit(self, almanac_slug, page_slug): c.almanac = h.get_almanac_by_slug(almanac_slug) c.page = h.get_page_by_slug(c.almanac, page_slug) name = request.POST.get('name', u'') if name: # all we have to save is the name here for now c.page.name = name meta.Session.commit() h.flash(u'Page edited') redirect_to(h.url_for('page_view', almanac=c.almanac, page=c.page))
def edit(self, almanac_slug, page_slug): c.almanac = h.get_almanac_by_slug(almanac_slug) c.page = h.get_page_by_slug(c.almanac, page_slug) c.media_items = h.render_media_items(c.page.media, editable=True) map_features = h.map_features_for_media(c.page.media) c.map_features = h.literal(simplejson.dumps(map_features)) flow_data = h.flowplayer_data_for_media(c.page.media) c.flow_data = h.literal(simplejson.dumps(flow_data)) c.is_add = False c.behalf = render('/page/behalf.mako') return render('/page/add_edit.mako')
def _do_comment(self, almanac_slug, page_slug): almanac = h.get_almanac_by_slug(almanac_slug) page = h.get_page_by_slug(almanac, page_slug) comment = Comment(fullname=self.form_result['fullname'], email=self.form_result['email'], website=self.form_result['website'], text=self.form_result['text'], ) comment.page_id = page.id meta.Session.add(comment) meta.Session.commit() h.flash(u'Comment added') redirect_to(h.url_for('page_view', almanac=almanac, page=page))
def view(self, almanac_slug, page_slug): c.almanac = h.get_almanac_by_slug(almanac_slug) c.page = h.get_page_by_slug(c.almanac, page_slug) c.media_items = h.render_media_items(c.page.media, editable=False) c.no_maps = True for media in c.page.media: if isinstance(media, Map): c.no_maps = False break map_features = h.map_features_for_media(c.page.media) c.map_features = h.literal(simplejson.dumps(map_features)) flow_data = h.flowplayer_data_for_media(c.page.media) c.flow_data = h.literal(simplejson.dumps(flow_data)) page_navigation = c.page.page_navigation() c.next_page = page_navigation['next'] c.prev_page = page_navigation['prev'] c.latest_pages = Page.latest(almanac_id=c.almanac.id) if g.captcha_enabled and not c.user: c.captcha_html = h.literal(recaptcha.client.captcha.displayhtml(g.captcha_pubkey)) c.is_page_owner = is_met(is_page_owner()) c.is_admin = is_met(has_permission('manage')) return render('/page/view.mako')
def evaluate(self, environ, credentials): user = c.user if not user: userid = session.setdefault('userid', None) if not userid: self.unmet() user = meta.Session.query(User).get(userid) if not user: self.unmet() almanac_slug = environ['pylons.routes_dict']['almanac_slug'] page_slug = environ['pylons.routes_dict']['page_slug'] almanac = h.get_almanac_by_slug(almanac_slug) page = h.get_page_by_slug(almanac, page_slug) if page.user_id == user.id: return if credentials and \ 'manage' in credentials.get('permissions'): return self.unmet()
def _retrieve_page(self, almanac, page_slug): if page_slug is None: return almanac.new_page(self.ensure_user) else: return h.get_page_by_slug(almanac, page_slug)