def post(self): def check(cate): parent=cate.parent_cat skey=cate.key() while parent: if parent.key()==skey: return False parent=parent.parent_cat return True action=self.param("action") name=self.param("name") slug=self.param("slug") parentkey=self.param('parentkey') key=self.param('key') ObjCache.flush_multi(is_htmlpage=True) vals={'action':action,'postback':True} try: if action=='add': cat= Category(name=name,slug=slug) if not (name and slug): raise Exception(_('Please input name and slug.')) if parentkey: cat.parent_cat=Category.get(parentkey) cat.put() self.redirect('/admin/categories') #vals.update({'result':True,'msg':_('Saved ok')}) #self.render2('views/admin/category.html',vals) elif action=='edit': cat=Category.get(key) cat.name=name cat.slug=slug if not (name and slug): raise Exception(_('Please input name and slug.')) if parentkey: cat.parent_cat=Category.get(parentkey) if not check(cat): raise Exception(_('A circle declaration found.')) else: cat.parent_cat=None cat.put() self.redirect('/admin/categories') except Exception ,e : if cat.is_saved(): cates=[c for c in Category.all() if c.key()!=cat.key()] else: cates= Category.all() vals.update({'result':False,'msg':e.message,'category':cat,'key':key,'categories':cates}) self.render2('views/admin/category.html',vals)
def post(self,slug=None): try: linkcheck= self.request.get_all('checks') ObjCache.flush_multi(is_htmlpage=True) for key in linkcheck: cat=Category.get(key) if cat: cat.delete() finally: self.redirect('/admin/categories')
def post(self): old_theme=g_blog.theme_name str_options= self.param('str_options').split(',') for name in str_options: value=self.param(name) setattr(g_blog,name,value) bool_options= self.param('bool_options').split(',') for name in bool_options: value=self.param(name)=='on' setattr(g_blog,name,value) int_options= self.param('int_options').split(',') for name in int_options: try: value=int( self.param(name)) setattr(g_blog,name,value) except: pass float_options= self.param('float_options').split(',') for name in float_options: try: value=float( self.param(name)) setattr(g_blog,name,value) except: pass if old_theme !=g_blog.theme_name: g_blog.get_theme() g_blog.owner=self.login_user g_blog.author=g_blog.owner.nickname() g_blog.save() gblog_init() vals={'themes':ThemeIterator()} ObjCache.flush_multi(is_htmlpage=True) self.render2('views/admin/setup.html',vals)
def post(self,slug='post'): try: linkcheck= self.request.get_all('checks') for id in linkcheck: kid=int(id) entry=Entry.get_by_id(kid) if entry.entrytype=='PAGE': ObjCache.flush_multi(is_htmlpage=True) else: ObjCache.flush_multi(is_htmlpage=True, entry_id=entry.post_id) ObjCache.flush_multi(is_htmlpage=True, is_aggregation=True) entry.delete() g_blog.entrycount-=1 finally: ObjCache.update_basic_info(update_pages=True) self.redirect('/admin/entries/'+slug)