Esempio n. 1
0
def server_expired():
    server = get_server(request.form['server'])
    sender = 'no-reply@' + get_application_id() + '.appspotmail.com'
    site_url = 'http://' + get_application_id() + '.appspot.com'
    for account in Account.query():
        message = mail.EmailMessage(sender=sender, to=account.email)
        message.subject = "Server expire notification: %s" % server.server_name
        show_url = url_for('server.show', server_key=server.key.urlsafe())
        message_body = "Server %s is expired at %s\n %s%s" \
                       % (server.server_name, server.expire_date,
                          site_url, show_url)

        if server.blocked:
            url = 'http://%s/manager/expired/%s'\
                    % (server.ip_address, server.token)
            result = fetch_server_url(url=url, retry_count=3)
            if result.status_code == 200:
                if result.content == 'TRUE':
                    message_body += '\n Server %s is blocked upon expiry, %s'\
                                    % (server.server_name, server.expire_date)
                else:
                    message_body += '\n %s' % result.content
            else:
                message_body += '\n Unable to reach %s to block upon expiry, %s'\
                                % (server.server_name, server.expire_date)

        message.body = message_body
        message.send()

    return make_response('')
Esempio n. 2
0
def delete(account):
    encoded_key = request.args["account"]
    acc = ndb.Key(urlsafe=encoded_key)
    acc.delete()
    flash(u"Account deleted!")

    return render_template("account/accounts.html", account=account, accounts=Account.query())
Esempio n. 3
0
def add(account):
    if request.method == "POST":
        account = Account()
        account.email = request.form["email"]
        account.role = request.form["role"]
        account.put()
        flash(u"Account added!")
        return render_template("account/accounts.html", account=account, accounts=Account.query())
    else:
        return render_template("account/account_add.html", account=account)
Esempio n. 4
0
    def check(*args, **kwargs):
        user = users.get_current_user()
        if user:
            email = user.email()
            account = Account.query().filter(Account.email==email.lower()).get()
            if isinstance(account, Account):
                kwargs.update({'account': account})
                return fn(*args, **kwargs)

        return abort(403)
Esempio n. 5
0
def check_server_user_limit():
    sender = 'no-reply@' + get_application_id() + '.appspotmail.com'
    site_url = 'http://' + get_application_id() + '.appspot.com'
    servers = Server.query()
    accounts = Account.query()
    for server in servers:
        if server.user_limit:
            for account in accounts:
                message = mail.EmailMessage(sender=sender, to=account.email)
                message_body = ''
                show_url = url_for('server.show', server_key=server.key.urlsafe())
                url = 'http://%s/manager/user_count/%s'\
                      % (server.ip_address, server.token)
                result = fetch_server_url(url=url, retry_count=3)
                if result.status_code == 200:
                    user_count = result.content

                    if user_count > server.user_limit:
                        message.subject = "Server expire notification: %s" % server.server_name
                        message_body += "User limit reached on %s." \
                                        "User limit: %s, Current users: %s\n %s%s" \
                                        % (server.server_name, server.user_limit,
                                           user_count, site_url, show_url)

                        if server.blocked:
                            url = 'http://%s/manager/add_user_blocked/%s'\
                                  % (server.ip_address, server.token)
                            result = fetch_server_url(url=url, retry_count=3)

                            user_blocked = result.content
                            if user_blocked == 'TRUE':
                                message_body += "Server %s add user is restricted to %s" \
                                                % (server.server_name, server.user_limit)
                            else:
                                message_body += '\n %s' % user_blocked
                else:
                    message_body += 'Unable to reach %s to retrieve user count \
                                    upon user limit check' % server.server_name

                message.body = message_body
                message.send()

    return make_response('hello')
Esempio n. 6
0
def list(account):
    return render_template("account/accounts.html", account=account, accounts=Account.query())
Esempio n. 7
0
def get_account(email):
    account = Account.query().filter(Account.email==email).get()
    return account