Exemple #1
0
 def get(self):
     try:
         user = users.get_current_user()
         # requestのkeyに対応するCounterを取得
         counter = Counter.get(db.Key(encoded=self.request.get("key")))
         # 現在のユーザーと関連づけられていなければ403エラー
         if counter == None or user != counter.user:
             responses.display_error(self, 403)
             return
         template_values = {
             "user": user,
             "user_url": users.create_logout_url("/"),
             "counter": counter,
             "records": AccessRecord.all().ancestor(counter).order("-count"),
         }
         path = os.path.join(os.path.dirname(__file__), os.pardir, "templates", "record.html")
         self.response.out.write(template.render(path, template_values))
     # requestのkeyが正しくない場合
     except BadKeyError, error:
         logging.error(str(error))
         responses.display_error(self, 400)
Exemple #2
0
 def post(self):
     """
     requestからkeyを受け取り、対応するCounterのentityを削除する
     """
     try:
         # 削除する対象を取得
         counter = Counter.get(db.Key(encoded = self.request.get('key')))
         # 現在のユーザーと関連づけられていなければ403エラー
         if counter == None or counter.user != users.get_current_user():
             responses.display_error(self, 403)
             return
         # 関連画像、アクセス履歴ともに一括削除
         for image in counter.image:
             NumberImage.get(image).delete()
         for record in AccessRecord.all().ancestor(counter):
             record.delete()
         counter.delete()
         self.redirect('/')
     # requestのkeyが正しくない場合
     except BadKeyError, error:
         logging.error(str(error))
         responses.display_error(self, 400)