'Save the document as a redirect or full document.'

def save_data(self, storage, data):

    redirect_to = data.get(u'redirect_to')
    if (redirect_to and (not data.get(u'zone_redirect_path'))):
        doc_data = {u'locale': self.locale, u'slug': self.slug, u'redirect_to': redirect_to}
    else:
        keys = (u'id', u'is_zone_root', u'locale', u'modified', u'parent', u'parent_topic', u'slug', u'tags', u'title', u'uuid', u'zone_css_slug', u'zone_redirect_path')
        doc_data = {}
        for key in keys:
            if (key in data):
                doc_data[key] = data[key]
        if (doc_data[u'slug'] != self.slug):
            logger.warn(u'Meta    slug    "%s"    does    not    match    slug    for    "%s".', doc_data[u'slug'], self.path)
            doc_data[u'slug'] = self.slug
        if (doc_data[u'locale'] != self.locale):
            logger.warn(u'Meta    locale    "%s"    does    not    match    locale    for    "%s".', doc_data[u'locale'], self.path)
            doc_data[u'locale'] = self.locale
    storage.save_document(doc_data)
    return [(u'document_current', self.normalized_path, {u'revisions': self.revisions})]
