예제 #1
0
def follows_followed_unfollow(followed_id):
    user = User.get_user(followed_id)
    if user != None and not user.is_deleted():
        follow = Follow.get_follow_by_follower_and_followed(g.user.id, user.id)
        if follow != None:
            follow.make_deleted()
            db.session.add(follow)
            db.session.commit()
        return redirect(url_for('user_thanks', username = user.username))
    abort(404)
예제 #2
0
def follows_followed_follow(followed_id):
    user = User.get_user(followed_id)
    if user != None and not user.is_deleted():
        if not Follow.is_following_by_follower_and_followed(g.user.id, user.id):
            follow = Follow(g.user.id, user.id)
            db.session.add(follow)
            db.session.commit()
            emails.follower_notification(g.user, user)
        return redirect(url_for('user_thanks', username = user.username))
    abort(404)
예제 #3
0
    def validate(self):
        rv = Form.validate(self)
        if not rv:
            return False

        all_receivers = []
        for x in self.receivers.data.split(','):
            for y in x.split(' '):
                all_receivers.append(y.lower())

        all_receivers = list(set(all_receivers))
        all_receivers = filter(None, all_receivers)

        valid_receivers = {'emails':[],'users':[],'public_pages':[]}
        for receiver in all_receivers:
            if functions.is_email(receiver):
                email = EmailModel.get_email_by_email(receiver)
                if email == None:
                    email = EmailModel(email = receiver)
                    db.session.add(email)
                    db.session.commit()
                valid_receivers['emails'].append(email)

            elif receiver[:1] == 'u' and functions.is_integer(receiver[1:]):
                user = UserModel.get_user(int(receiver[1:]))
                if user != None:
                    valid_receivers['users'].append(user)

            elif receiver[:2] == 'pp' and functions.is_integer(receiver[2:]):
                public_page = PublicPageModel.get_public_page(int(receiver[2:]))
                if public_page != None:
                    valid_receivers['public_pages'].append(public_page)

        for key in valid_receivers:
            if valid_receivers[key] != []:
                self.receivers.data = valid_receivers
                return True

        self.receivers.errors.append('No valid receivers were entered.')
        return False

    #     if self.media.data != None and functions.is_image_type(self.media.data.filename):
    #         return True
    #     self.media.errors.append('Image files only.')
    #     return False
예제 #4
0
def load_user(id):
    return User.get_user(int(id))
예제 #5
0
def users_user_thanks_received(user_id = None):
    try:
        return redirect(url_for('user_thanks_received', username = User.get_user(user_id).username))
    except:
        abort(404)
예제 #6
0
def users_user_following(user_id = None):
    try:
        return redirect(url_for('user_following', username = User.get_user(user_id).username))
    except:
        abort(404)