Exemplo n.º 1
0
Arquivo: dj.py Projeto: hchapman/WBOR
  def get(self):
    # If we have a reset_key, then try to reset the password.
    reset_key = self.request.get("reset_key")
    if reset_key:
      username = self.request.get("username")

      try:
        reset_dj = Dj.recovery_login(username, reset_key)
      except NoSuchUsername:
        self.session.add_flash("There is no user by that name")
        self.redirect("/dj/reset/")
        return
      except InvalidLogin:
        self.flash = ("This request is no longer valid, or the key provided"
                      "is somehow corrupt. If clicking the link in your email"
                      "does not work again, perhaps request a new reset.")
        self.redirect("/dj/reset")
        return

      self.set_session_user(reset_dj)
      program_list = Program.get_by_dj(dj=reset_dj)

      if not program_list:
        self.session.add_flash(
          "You have been temporarily logged in. Please change your"
          "password so that you may log in in the future!")
        self.session.add_flash(
          "You will not be able to do much until you have a"
          "program.  If you see this message, please email"
          "<a href='mailto:[email protected]'>Connor</a>"
          "immediately.")
        self.redirect('/dj/myself')
        return
      elif len(program_list) == 1:
        self.set_session_program(program_list[0])
        self.session.add_flash(
          "You have been temporarily logged in. Please change your password so "
          "that you may log in in the future!")
        self.session.add_flash(
          "Logged in with program %s"%program_list[0].title)
        self.redirect("/dj/myself")
        return
      else:
        self.session.add_flash(
          "You have been temporarily logged in. Please change your password so "
          "that you may log in in the future!")
        self.redirect("/dj/myself")
        return
    else:
      if self.session_has_login():
        self.redirect("/dj/")
        return
      template_values = {
        'session': self.session,
        'flash': self.flashes,
        }
      self.response.out.write(
        template.render(get_path("dj_reset_password.html"),
                        template_values))
Exemplo n.º 2
0
Arquivo: dj.py Projeto: hchapman/WBOR
 def get(self):
   program_list = Program.get_by_dj(dj=self.dj_key)
   if len(program_list) <= 1:
     self.session.add_flash(
       "You don't have more than one radio program to choose between.")
     self.redirect("/dj/")
     return
   template_values = {
     'program_list': program_list,
     'session': self.session,
     'flash': self.flashes,
     'posts': BlogPost.get_last(num=1)
   }
   self.response.out.write(template.render(get_path("dj_selectprogram.html"),
     template_values))
Exemplo n.º 3
0
Arquivo: dj.py Projeto: hchapman/WBOR
  def post(self):
    username = self.request.get("username")
    password = self.request.get("password")

    # Try to log in.
    try:
      dj = Dj.login(username, password)
    except NoSuchUsername:
      self.flash = "Invalid username. Please try again."
      self.redirect('/dj/login/')
      return
    except InvalidLogin:
      self.flash = "Invalid username/password combination. Please try again."
      self.redirect('/dj/login/')
      return

    self.user = dj
    program_list = Program.get_by_dj(dj=dj, num=10)
    if not program_list:
      self.flash = ("You have successfully logged in,"
                    "but you have no associated programs."
                    "You will not be able to do much until"
                    "you have a program.  If you see this message,"
                    "please email <a href='mailto:[email protected]'>"
                    "Connor</a> immediately.")
      self.redirect('/dj/')
      return
    elif len(program_list) == 1:
      self.program = program_list[0]
      self.flash = ("Successfully logged in with program %s."%
                    program_list[0].title)
      self.redirect("/dj/")
      return
    else:
      self.redirect("/dj/selectprogram/")
      return