Ejemplo n.º 1
0
def log_in(email, password):
    user_login = Person.query.filter_by(email=email, password=password).first()
    if user_login is not None:
        session['username'] = user_login.username
        session['id'] = user_login.id
        login_user(user_login)
    else:
        log = Log("Ensure a valid email/password is input!")
        interceptor_manager.execute(log)
        raise Exception
 def add(self, content):
     if isinstance(content, Comment):
         ca = CommentAdder()
         ca.add(content)
     elif isinstance(content, Blogpost):
         ba = BlogpostAdder()
         ba.add(content)
     else:
         log = Log("This is not a compatible object for this.")
         interceptor_manager.execute(log)
Ejemplo n.º 3
0
def register_new_user(first_name, last_name, email, username, password):
    person_builder = models.PersonBuilder()
    person_builder.set_variables(username, email, password, first_name,
                                 last_name)

    person_manager = models.PersonManager()
    person_manager.set_builder(person_builder)

    person = person_manager.get_person()

    email_exists = db.session.query(Person.id).filter_by(email=email).first()
    username_exists = db.session.query(
        Person.id).filter_by(username=username).first()

    if first_name == '' or last_name == '' or email == '' or username == '' or password == '':
        log = Log("All fields of the form must be filled in!")
        interceptor_manager.execute(log)
        raise Exception
    elif email_exists:
        log = Log(
            "This email already exists in the database. Please choose another!"
        )
        interceptor_manager.execute(log)
        raise Exception
    elif username_exists:
        log = Log(
            "This username already exists in the database. Please choose another!"
        )
        interceptor_manager.execute(log)
        raise Exception
    else:
        db.session.add(person)
        db.session.commit()
        log = Log("Registration completed successfully!")
        interceptor_manager.execute(log)
Ejemplo n.º 4
0
def add_post(title, content, tag):
    username = session['username']
    person_id = session['id']

    post = Blogpost(title=title,
                    username=username,
                    content=content,
                    date=datetime.now(),
                    user_id=person_id,
                    tag=tag)

    post_exists = db.session.query(Blogpost.id).filter_by(title=title).first()

    if title == '' or username == '' or content == '' or tag == '':
        log = Log("All fields of the form must be filled in!")
        interceptor_manager.execute(log)
        raise Exception
    elif post_exists:
        log = Log("This title already exists, choose another!")
        interceptor_manager.execute(log)
        raise Exception
    else:
        composite = add_content_composite.Composite()
        composite.add(post)
        pub_sub = notifications.PublisherSubscriber()
        pub_sub.notify_subscribed_users()
        log = Log("Post added!")
        interceptor_manager.execute(log)
def save_comment_to_database(post_id, content):
    username = session['username']
    comment = Comment(post_id=post_id, username=username, content=content)
    comment_exists = db.session.query(Comment.id).filter_by(content=content).first()

    if username == '' or content == '' or post_id == '':
        log = Log("All fields of the form must be filled in!")
        interceptor_manager.execute(log)
        raise Exception
    elif comment_exists:
        log = Log("This comment already exists, choose another!")
        interceptor_manager.execute(log)
        raise Exception
    else:
        composite = add_content_composite.Composite()
        composite.add(comment)
        log = Log("Comment added.")
        interceptor_manager.execute(log)
def follow_user(username):
    person = Person.query.filter_by(username=username).first()

    if person is None:
        log = Log('User not found within the database')
        interceptor_manager.execute(log)
        raise Exception

    if person == current_user:
        log = Log('You cannot follow yourself')
        interceptor_manager.execute(log)
        raise Exception

    current_user.follow_user(person)
    db.session.commit()

    log = Log('You are now following {}.'.format(username))
    interceptor_manager.execute(log)

    mediator = Mediator()
    mediator.notify_user(username=session['username'], email=person.email)

    return redirect(url_for('viewpost', username=username))