Ejemplo n.º 1
0
    def list_tiddlers(self, bag):
        """
        If the URL is a list of bag tiddlers, we present a bag
        editing interface. Otherwise we use the parent serialization.
        """
        if (self.environ['wsgiorg.routing_args'][1].get('tiddler_name')):
            return HTMLSerialization.list_tiddlers(self, bag)

        try:
            name = self.environ['wsgiorg.routing_args'][1]['bag_name']
        except KeyError: # not a bag link
            return HTMLSerialization.list_tiddlers(self, bag)

        representation_link = '%s/bags/%s/tiddlers' % (
                self._server_prefix(), encode_name(bag.name))
        representations = self._tiddler_list_header(representation_link)
        user_object = get_user_object(self.environ)
        publicity = ''
        try:
            bag.policy.allows(user_object, 'manage')
            policy = bag.policy
            publicity = determine_publicity(user_object, policy)
        except (UserRequiredError, ForbiddenError):
            policy = None
        try:
            bag.policy.allows(user_object, 'delete')
            delete = True
        except (UserRequiredError, ForbiddenError):
            delete = False
        data = {'title': 'TiddlyHoster Bag %s' % bag.name, 'policy': policy,
                'publicity': publicity, 'delete': delete,
                'bag': bag, 'representations': representations}
        del self.environ['tiddlyweb.title']
        return send_template(self.environ, 'baglist.html', data)
Ejemplo n.º 2
0
    def list_tiddlers(self, tiddlers):
        """
        If the URL is a list of bag tiddlers, we present a bag
        editing interface. Otherwise we use the parent serialization.
        """
        if (self.environ['wsgiorg.routing_args'][1].get('tiddler_name')):
            return HTMLSerialization.list_tiddlers(self, tiddlers)

        try:
            name = get_route_value(environ, 'bag_name')
            return self._bag_list(tiddlers)
        except KeyError:  # not a bag link
            try:
                name = get_route_value(environ, 'recipe_name')
                return self._recipe_list(tiddlers, name)
            except KeyError:
                return self._bag_list(tiddlers)
Ejemplo n.º 3
0
    def list_tiddlers(self, tiddlers):
        """
        If the URL is a list of bag tiddlers, we present a bag
        editing interface. Otherwise we use the parent serialization.
        """
        if (self.environ['wsgiorg.routing_args'][1].get('tiddler_name')):
            return HTMLSerialization.list_tiddlers(self, tiddlers)

        try:
            name = get_route_value(environ, 'bag_name')
            return self._bag_list(tiddlers)
        except KeyError:  # not a bag link
            try:
                name = get_route_value(environ, 'recipe_name')
                return self._recipe_list(tiddlers, name)
            except KeyError:
                return self._bag_list(tiddlers)
Ejemplo n.º 4
0
    def list_tiddlers(self, tiddlers):
        """
        If the URL is a list of bag tiddlers, we present a bag
        editing interface. Otherwise we use the parent serialization.
        """
        if (self.environ['wsgiorg.routing_args'][1].get('tiddler_name')):
            return HTMLSerialization.list_tiddlers(self, tiddlers)

        try:
            name = self.environ['wsgiorg.routing_args'][1]['bag_name']
            return self._bag_list(tiddlers)
        except KeyError: # not a bag link
            try:
                name = self.environ['wsgiorg.routing_args'][1]['recipe_name']
                name = urllib.unquote(name)
                name = unicode(name, 'utf-8')
                return self._recipe_list(tiddlers, name)
            except KeyError:
                return self._bag_list(tiddlers)