def addNewPage(pageName, pageTemplateType, pageParentKey): if pageName == '': return { 'status': '-1', 'message': 'No Page name entered' } if pageTemplateType == '-1': return { 'status': '-1', 'message': 'No Page template selected' } if pageParentKey == '-1': return { 'status': '-1', 'message': 'No Page parent selected' } if pageTemplateType.split('.')[-1] == 'PageContainer': keyName = Utils.slugify(unicode(pageName)) page = dbPages.Pages(key_name=keyName) page.sortIndex = 1000 else: page = dbPages.Pages() page.sortIndex = 10 page.name = pageName page.templateType = pageTemplateType parentStringKey = None if pageParentKey != '0' and pageTemplateType != 'PageService.PageTemplates.PageContainer': parentStringKey = pageParentKey page.parentStringKey = parentStringKey pageKey = db.put(page) return { 'status' : 1, 'message' : 'Page added/updated', 'pageKey' : pageKey, 'redirect' : '/edit/Pages/?item_id=' + str(pageKey.id()) }
def addUpdatePageModule(pageStringKey, pageModuleName, language, publish): pageKey = db.Key(pageStringKey) if publish == "on": publish = True else: publish = False page = dbPages.Pages.get(pageKey) pageModule = dbPageModules.PageModules.gql('WHERE pageKey = :pageKey AND lang = :language', pageKey = pageKey, language = language).get() if pageModule is None: pageModule = dbPageModules.PageModules() pageModule.pageKey = pageKey pageModule.lang = language pageModule.name = pageModuleName stringPath = Utils.slugify(unicode(pageModuleName)) + '/' path = getPath(page, language, stringPath) ## If path is False, parent page in GetPath method has not been saved. if not path: return { 'status' : -1, 'message' : 'Parent page is not published', 'pageId' : str(page.key().id()) } pageModule.path = path pageModule.published = publish ## We need the key so we put this in the datastore right away pageModuleKey = db.put(pageModule) return { 'status' : 1, 'message' : 'Content added/updated', 'redirect' : '/edit/Pages/?item_id=' + str(page.key().id()), 'pageModuleKey' : pageModuleKey }
def addUpdatePageModule(pageStringKey, pageModuleName, language, publish): pageKey = db.Key(pageStringKey) if publish == "on": publish = True else: publish = False page = dbPages.Pages.get(pageKey) pageModule = dbPageModules.PageModules.gql( 'WHERE pageKey = :pageKey AND lang = :language', pageKey=pageKey, language=language).get() if pageModule is None: pageModule = dbPageModules.PageModules() pageModule.pageKey = pageKey pageModule.lang = language pageModule.name = pageModuleName stringPath = Utils.slugify(unicode(pageModuleName)) + '/' path = getPath(page, language, stringPath) ## If path is False, parent page in GetPath method has not been saved. if not path: return { 'status': -1, 'message': 'Parent page is not published', 'pageId': str(page.key().id()) } pageModule.path = path pageModule.published = publish ## We need the key so we put this in the datastore right away pageModuleKey = db.put(pageModule) return { 'status': 1, 'message': 'Content added/updated', 'redirect': '/edit/Pages/?item_id=' + str(page.key().id()), 'pageModuleKey': pageModuleKey }