예제 #1
0
    def __init__(self, context, request):
        self.context = context
        self.request = request

        self.has_info = redirect.get_info(context) is not None

        if self.request.get('destroy', None) is not None:
            redirect.deactivate(context)
            redirect._deannotate(context)
            logger.info("destroyed redirection related info for %s" % context)
예제 #2
0
def _handle_parent_child_association(parent, child):
    child_id = child.getId()
    parent_info = redirect.get_info(parent)
    child_path = redirect.pathstr(child)
    parent_path = redirect.pathstr(parent)
    parent_info[child_id] = child_path

    child_url = parent_info.url
    if not child_url.endswith('/'):
        child_url += '/'
    child_url += child_id

    child_info = redirect.activate(child, url=child_url)
    child_info.parent = parent_path
예제 #3
0
 def fset(self, pat):
     info = redirect.get_info(self.context, create_if_necessary=True)
     info.alias_pattern = pat
예제 #4
0
 def fget(self):
     info = redirect.get_info(self.context)
     if info is not None:
         return info.alias_pattern
     else:
         return ''
예제 #5
0
 def fset(self, val):
     info = redirect.get_info(self.context, create_if_necessary=True)
     info.url = val
예제 #6
0
 def fget(self):
     info = redirect.get_info(self.context)
     if info is not None:
         return info.url
     else:
         return ''