def create(self): try: categories = Category.all() for category in categories: name = self.params.get("name_%s" % category.category_id) id = self.params.get("category_%s" % category.category_id) wk = db.GqlQuery("SELECT * FROM Category WHERE category_id = :1",id).get() if wk != None: category.name=name category.category_id = id category.put() new = self.params['new_category'] if new: id = self.params['new_category_id'] category = Category(name=new, category_id=id,order=max) category.put() # URL '/category/' にリダイレクト self.redirect('/site/category/') except Exception, ex: # 例外メッセージを表示する self.render(text='Exception: %s' % ex)
def delete(self): key = self.params.get("key"); # カテゴリに属するドキュメントがあったら削除できない res= {"status":"success","msg":"削除しました"} query = db.GqlQuery("SELECT * FROM Document WHERE category = :1",db.Key(key)) if query.count() > 0: res= {"status":"error","msg":"カテゴリに属するドキュメントがあるため削除できません。"} else: category = Category.get(db.Key(key)); if category: category.delete() # リナンバー query = Category.all(); num = 1; for c in query: c.order = num c.put() num = num +1 else: res= {"status":"error","msg":"削除に失敗しました"} self.render(json=self.to_json(res))
def index(self): query = Category.all() self.result = query.fetch(limit=1000)
def edit(self): self.categories = Category.all().order("-post_at") self.rec = Document.get(self.params.get("id")) self.pages = db.GqlQuery("SELECT * FROM Page WHERE document = :1 ORDER BY order", db.Key(self.params.get("id")))