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') 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') for key in linkcheck: cat=Category.get(key) if cat: cat.delete() finally: self.redirect('/admin/categories')
def GET(self,slug=None): action=self.param("action") key=self.param('key') category=None if action and action=='edit': try: category=Category.get(key) except: pass else: action='add' vals={'action':action,'category':category,'key':key,'categories':[c for c in Category.all() if not category or c.key()!=category.key()]} self.render2('views/admin/category.html',vals)
def new_post(request): if request.method == 'POST': form = AddNewPostForm(request.POST) # A form bound to the POST data if form.is_valid(): # All validation rules pass Post.objects.create( author=request.user, title=form.cleaned_data['post_title'], content=form.cleaned_data['post_content'], link=title_to_link(form.cleaned_data['post_title']), publication_date=form.cleaned_data['post_publication_date'], publish=form.cleaned_data['post_publish'], category=Category.get(form.cleaned_data['post_category']), tags=form.cleaned_data['post_tags'], ) return HttpResponseRedirect('/blog') # Redirect after POST else: form = AddNewPostForm() # An unbound form return render(request, 'blog/new-post.html', {'form': form})