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))
Beispiel #3
0
 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")))