Beispiel #1
0
  def individual(self, meigen_id):
    meigen_obj = Meigen.get(meigen_id)
    message = ''
    if (not meigen_obj):
      message = '指定された名言は登録されていません'

    # 発言者の名言を取得
    query = Meigen.all().order('-created_on')
    query.filter( 'person = ', meigen_obj.person )
    meigens_of_person = query.fetch( limit = 6 )

    Viewer.generate(Viewer(), self.response, INDIVIDUA_TEMPLATE_PATH, 
    {
      'current_meigen': meigen_obj,
      'meigens_of_person': meigens_of_person,
      'meigens': Meigen.all().order('-created_on'),
      'message': message })
Beispiel #2
0
  def delete(self):
    # 必須パラメータ取得
    meigen_id = self.request.get("id")
    if (not meigen_id):
      self.redirect(urls.APP_MEIGEN_URL)
      return

    # Person取得
    meigen_obj = Meigen.get( meigen_id )
    if (not meigen_obj):
      self.redirect(urls.APP_MEIGEN_URL)
      return

    # Person 削除
    meigen_obj.delete()

    # 発言者一覧へリダイレクト
    self.redirect(urls.APP_MEIGEN_URL)
Beispiel #3
0
  def insert_or_update(self):
    # パラメータ取得
    person_name = self.request.get("person")
    text = self.request.get("text")
    is_lock = self.request.get("is_lock")

    # パラメタが不正なときは一覧画面へリダイレクトする
    if (person_name == '' or text == '' or is_lock == ''):
      self.redirect(urls.APP_MEIGEN_URL)
      return

    # is_lock 補正
    if (is_lock == 'True'):
      is_lock = True
    else:
      is_lock = False
    
    # 発言者登録
    person_obj = Person.get_or_insert(
                   person_name,
                   owner = users.get_current_user(),
                   name = person_name,
                   description = '',
                   twitter_id = DEFAULT_TWITTER_ID,
                   is_lock = is_lock )

    # 名言文(Meigen.text)が変更されたら、変更前のオブジェクトは削除する
    if self.request.get("id"):
      meigen_obj = Meigen.get( self.request.get("id") )
      if meigen_obj and meigen_obj.text != text:
        meigen_obj.delete()

    # 名言登録
    meigen_obj = Meigen.get_or_insert( 
                   text,
                   owner = users.get_current_user(),
                   text = text,
                   person = person_obj,
                   is_lock = is_lock )
    meigen_obj.person = person_obj
    meigen_obj.save()

    # 一覧ページへリダイレクトする
    self.redirect( urls.APP_MEIGEN_URL )
Beispiel #4
0
  def get(self):
    # 所有する発言者のみ取得する
    query = Person.all()
    query.filter( 'owner = ', users.get_current_user() )
    query.order('-created_on')
    owned_persons = query.fetch(limit = 1000)

    # 所有する名言のみ取得する
    query = Meigen.all()
    query.filter( 'owner = ', users.get_current_user() )
    query.order('-created_on')
    owned_meigens = query.fetch(limit = 1000)

    # 編集確認
    meigen_id = self.request.get("id")
    meigen_obj = ''
    if (meigen_id):
      meigen_obj = Meigen.get( meigen_id )

    # 画面を表示する
    Viewer.generate(Viewer(), self.response, TEMPLATE_PATH, 
      {'persons': owned_persons,
       'meigens': owned_meigens,
       'current_meigen': meigen_obj })