Ejemplo n.º 1
0
 def register(self):
     if hasattr(self, "form_result"):
         user = User(self.form_result["login"], self.form_result["passwd"])
         Session.add(user)
         Session.commit()
         redirect("/")
     else:
         return render("/users/register.mako")
Ejemplo n.º 2
0
    def befriend(self, login):
        try:
            requester = Session.query(User).filter(User.login == request.environ["REMOTE_USER"]).one()
        except (NoResultFound, KeyError):
            abort(401)

        try:
            acceptor = Session.query(User).filter(User.login == login).one()
        except NoResultFound:
            abort(404)

        # Check if this side already requested friendship
        try:
            existing = (
                Session.query(Friendship)
                .filter((Friendship.requester_id == requester.id) & (Friendship.acceptor_id == acceptor.id))
                .one()
            )
        except NoResultFound:
            pass
        else:
            if existing.accepted:
                c.message = u"Już jesteś przyjacielem tego użytkownika"
            else:
                c.message = u"Już wysłałeś zaproszenie do tego użytkownika. Poczekaj na akceptację"

            return render("users/request_done.mako")

        # Check if the other side already requested friendship
        try:
            existing = (
                Session.query(Friendship)
                .filter((Friendship.requester_id == acceptor.id) & (Friendship.acceptor_id == requester.id))
                .one()
            )
        except NoResultFound:
            friendship = Friendship(requester_id=requester.id, acceptor_id=acceptor.id)
            Session.add(friendship)
            Session.commit()
            c.message = u"Wysłano zaproszenie do użytkownika %s." % acceptor.login
        else:
            if existing.accepted:
                c.message = u"Już jesteś przyjacielem tego użytkownika"
            else:
                existing.accepted = True
                Session.commit()
                c.message = u"Zostałeś przyjacielem użytkownika %s." % acceptor.login
        return render("users/request_done.mako")