コード例 #1
0
ファイル: account.py プロジェクト: govtmirror/FPA_Core
def profile(account_id=None):
    """ Render the user page. """
    if not is_authenticated(current_user):
        flash_error("This is only for registered users")
        abort(403)

    if account_id:
        account = Account.by_id(account_id)
    else:
        account = current_user

    if not account:
        flash_error("Cannot find the user account")
        abort(404)

    dataview_list = Dataview.query.filter_by(account_id=account.id).all()

    topics_tracked = current_user.tracked_topics.count()

    # page = request.args.get("forumpage", 1, type=int)
    # topics = current_user.tracked_topics.\
    #     outerjoin(TopicsRead,
    #               db.and_(TopicsRead.topic_id == Topic.id,
    #                       TopicsRead.user_id == current_user.id)).\
    #     add_entity(TopicsRead).\
    #     order_by(Topic.last_updated.desc()).\
    #     paginate(page, flaskbb_config['TOPICS_PER_PAGE'], True)

    # return render_template("forum/forum/topictracker.html", topics=topics)

    return render_template('user/user.jade',
                           account=account,
                           dataviews=dataview_list,
                           topics_tracked=topics_tracked)
コード例 #2
0
ファイル: account.py プロジェクト: govtmirror/FPA_Core
def email_message():
    """
    Redirect user to this to tell them to go check their email
    """

    user_id = request.args.get('id')
    useraccount = Account.by_id(user_id)

    if not useraccount:
        message = "There is no user with this account"
        return render_template('account/email_message.jade', message=message)

    if useraccount.admin:
        message = "This operation is not possible for this user type"
        return render_template('account/email_message.jade', message=message)

    emailsplit = useraccount.email.split("@")
    email = emailsplit[0][:3] + "*****@" + emailsplit[1]

    flash_success("Your account is being set up.  Please see note below.")

    message = """Thank you for your request.  An email has been sent to %s with 
                further instructions.  If you have not recieved an email in next few minutes
                 please try <a style='color:#337ab7' href='%s'>resetting your
                 password</a>.""" % (email, url_for('account.trigger_reset'))

    # message_dict = sendhash(useraccount, gettext=True)
    # message = str(message_dict) + "<br/><br/><a href='" + message_dict['verifylink'] + "'><h3>Click to Verify</h3></a>"

    return render_template('account/email_message.jade', message=message)
コード例 #3
0
ファイル: account.py プロジェクト: fucc1/FPA_Core
def email_message():

    user_id = request.args.get('id')

    useraccount = Account.by_id(user_id)

    if not useraccount:
        message = "There is no user with this account"
        return render_template('account/email_message.jade', message=message)

    if useraccount.admin:
        message = "This operation is not possible for this user type"
        return render_template('account/email_message.jade', message=message)

    message_dict = sendhash(useraccount, gettext=True)
    message = str(message_dict) + "<br/><br/><a href='" + message_dict['verifylink'] + "'><h3>Click to Verify</h3></a>"

    return render_template('account/email_message.jade', message=message)
コード例 #4
0
ファイル: account.py プロジェクト: govtmirror/FPA_Core
def edit_profile(account_id):
    account = Account.by_id(account_id)
    if not account:
        flash_error("This is not a valid account")
        abort(404)
    if account.id != current_user.id and not current_user.admin:
        flash_error("You cannot access this content")
        abort(403)

    values = {
        "fullname": account.fullname,
        "website": account.website,
        "csrf_token": generate_csrf_token()
    }

    return render_template('account/edit_profile.jade',
                           form_fill=values,
                           account_id=account_id)
コード例 #5
0
ファイル: account.py プロジェクト: fucc1/FPA_Core
def email_message():

    user_id = request.args.get('id')

    useraccount = Account.by_id(user_id)

    if not useraccount:
        message = "There is no user with this account"
        return render_template('account/email_message.jade', message=message)

    if useraccount.admin:
        message = "This operation is not possible for this user type"
        return render_template('account/email_message.jade', message=message)

    message_dict = sendhash(useraccount, gettext=True)
    message = str(message_dict) + "<br/><br/><a href='" + message_dict[
        'verifylink'] + "'><h3>Click to Verify</h3></a>"

    return render_template('account/email_message.jade', message=message)
コード例 #6
0
ファイル: account.py プロジェクト: govtmirror/FPA_Core
def edit_profile_post(account_id):
    """ Perform registration of a new user """
    errors, values = {}, dict(request.form.items())

    account = Account.by_id(account_id)
    if not account:
        flash_error("This is not a valid account")
        abort(404)
    if account.id != current_user.id and not current_user.admin:
        flash_error("You cannot access this content")
        abort(403)

    try:
        # Grab the actual data and validate it
        data = AccountSettings().deserialize(values)

        if (data['website'].find('http://') == -1) and data['website'] != "":
            data['website'] = 'http://%s' % data['website']

        account.fullname = data['fullname']
        account.website = data['website']
        db.session.commit()

        # TO DO redirect to email sent page
        return redirect(url_for('account.profile', account_id=account.id))
    except colander.Invalid as i:
        errors = i.asdict()
        print errors
    if request.form.get("csrf_token", None):
        values['csrf_token'] = request.form.get('csrf_token')
    else:
        values["csrf_token"] = generate_csrf_token()
    return render_template('account/edit_profile.jade',
                           form_fill=values,
                           form_errors=errors,
                           account_id=account_id)