コード例 #1
0
ファイル: user.py プロジェクト: ongzhixian/gcp-zxsh
def add_user_post():
    logging.info("In add_user_post()")

    # Get form data
    form_username = request.form['input_email']
    form_password = request.form['input_password']

    # Validate user input
    # TODO

    # from modules.user import add_user
    # add_user(form_username, form_password)

    view_model = get_model()
    view_model['user_message'] = [{
        'category': "SUCCESS",
        'text': "User registered successfully."
    }]
    return view(view_model, view_path="user/add_user_get.html")


# @app.route('/about')
# @require_authentication
# def webroot_about_get():
#     logging.info("In webroot_about_get()")
#     view_model = get_model()
#     return view(view_model)
コード例 #2
0
ファイル: pdf_splitter.py プロジェクト: ongzhixian/hci-admin
def pdf_splitter_create_project_post():
    logging.info("In pdf_splitter_create_project_post()")

    view_model = get_model()

    project_title   = request.form['project_title']
    project_action  = request.form['action']
    project_file_name = None
    project_file_bytes = None
    project_file_size = 0
    
    if len(request.files) > 0:
        project_file = request.files['project_file']
        project_file_name = project_file.filename
        project_file_bytes = request.files['project_file'].stream.read()
        project_file_size = len(project_file_bytes)

    db = hci_db()
    
    project_id = db.add_project(view_model['user_id'], project_title, project_file_name, project_file_bytes, project_file_size)

    # resp = make_response(view(view_model, view_path="site/webroot_get.html"))
    if project_id is not None:
        return redirect("/pdf-splitter/project/{0}".format(project_id))
    
    
    view_model["project_title"] = project_title
    view_model["error"] = "Project title exists"
    return view(view_model, view_path="pdf_splitter/pdf_splitter_create_project_get.html")
コード例 #3
0
ファイル: pdf_splitter.py プロジェクト: ongzhixian/hci-admin
def pdf_splitter_project_get(project_id = None):
    logging.info("In pdf_splitter_project_get()")
    
    db = hci_db()
    project = db.get_project_info(project_id)
    view_model = get_model()
    view_model["project"] = project
    return view(view_model)
コード例 #4
0
ファイル: site.py プロジェクト: ongzhixian/hci-admin
def webroot_login_get():
    logging.info("In webroot_login_get()")
    view_model = get_model()
    view_model["google_client_id"] = app_settings["application"][
        "google_client_id"]
    if view_model["valid_app_token"]:
        return view(view_model, view_path="site/webroot_get.html")
    return view(view_model)
コード例 #5
0
def administration_applications_get():
    logging.info("In administration_applications_get()")

    view_model = get_model()
    db = hci_firestore()
    view_model["application_list"] = db.get_applications()

    return view(view_model)
コード例 #6
0
def webroot_logout_get():
    logging.info("In webroot_logout_get()")
    view_model = get_model()
    view_model["is_auth"] = False
    view_model["valid_app_token"] = False
    resp = make_response(
        view(view_model, view_path="site/webroot_logout_get.html"))
    resp.set_cookie(app_settings['application']['app_token'], '', expires=0)
    return resp
コード例 #7
0
def administration_test_get():
    logging.info("In administration_test_get()")

    view_model = get_model()

    db = hci_db()
    projects = db.get_owned_projects(view_model['user_id'])
    
    view_model["projects"] = projects
    return view(view_model)
コード例 #8
0
ファイル: sampleApps.py プロジェクト: ongzhixian/hci-admin
def sampleApps_test_get():
    logging.info("In sampleApps_test_get()")

    view_model = get_model()

    db = hci_db()
    projects = db.get_owned_projects(view_model['user_id'])

    view_model["projects"] = projects
    return view(view_model)
コード例 #9
0
ファイル: pdf_splitter.py プロジェクト: ongzhixian/hci-admin
def pdf_splitter_projects_get():
    logging.info("In pdf_splitter_projects_get()")

    view_model = get_model()

    db = hci_db()
    projects = db.get_owned_projects(view_model['user_id'])
    
    view_model["projects"] = projects
    return view(view_model)
コード例 #10
0
def administration_roles_get():
    logging.info("In administration_roles_get()")

    view_model = get_model()

    # db = hci_db()
    # projects = db.get_owned_projects(view_model['user_id'])    
    # view_model["projects"] = projects
    db = hci_firestore()
    view_model["role_list"] = db.get_roles()

    return view(view_model)
コード例 #11
0
def administration_applications_post():

    logging.info("In administration_applications_post()")

    view_model = get_model()

    application_name   = request.form['application_name']
    form_action  = request.form['action']

    if form_action == "add_application":
        db = hci_firestore()
        db.add_application(application_name)

    return view(view_model, view_path="administration/administration_applications_get.html")
コード例 #12
0
def webroot_logout_get():
    logging.info("In webroot_logout_get()")
    view_model = get_model()
    view_model["is_auth"] = False
    resp = make_response(
        view(view_model, view_path="site/webroot_logout_get.html"))
    resp.set_cookie(app_settings['application']['app_token'], '', expires=0)
    return resp


# @app.route('/about')
# @require_authentication
# def webroot_about_get():
#     logging.info("In webroot_about_get()")
#     view_model = get_model()
#     return view(view_model)
コード例 #13
0
def webroot_login_post():
    logging.info("In webroot_login_post()")

    form_username = request.form['input_email']
    form_password = request.form['input_password']

    if 'input_remember' in request.form.keys():
        form_remember = request.form['input_remember']
    else:
        form_remember = None

    view_model = get_model()

    # return view(view_model, view_path="site/webroot_get.html")
    # return view(view_model)

    # Username|CreatedDate
    username = form_username.strip()
    start_date = datetime.utcnow()
    expiry_date = start_date + timedelta(days=1)

    # TODO: Some code to authenticate user

    view_model["is_auth"] = True
    cookie_text = "{0}|{1}|{2}".format(form_username,
                                       start_date.strftime("%Y%m%d"),
                                       expiry_date.strftime("%Y%m%d"))
    crypto_struct = {
        'key': app_settings['application']['aes_key_hex'],
        'iv': app_settings['application']['aes_iv_hex']
    }
    cipher_text = aes_encrypt_as_hex(crypto_struct, cookie_text)

    # Use this if we want to set cookie
    if 'from' in request.args:
        resp = redirect(request.args['from'])
    else:
        # Default
        resp = make_response(
            view(view_model, view_path="site/webroot_get.html"))

    resp.set_cookie(app_settings['application']['app_token'],
                    cipher_text,
                    expires=expiry_date)

    return resp
コード例 #14
0
def administration_roles_post():
    logging.info("In administration_roles_post()")

    role_name   = request.form['role_name']
    form_action  = request.form['action']

    if form_action == "add_role":
        db = hci_firestore()
        db.add_role(role_name)

    view_model = get_model()

    # db = hci_db()
    # projects = db.get_owned_projects(view_model['user_id'])
    
    # view_model["projects"] = projects
    return view(view_model, view_path="administration/administration_roles_get.html")
コード例 #15
0
ファイル: pdf_splitter.py プロジェクト: ongzhixian/hci-admin
def pdf_splitter_project_post(project_id = None):
    logging.info("In pdf_splitter_project_post()")

    n_page          = request.form['input_n_page']          if 'input_n_page' in request.form else ''
    terminator_text = request.form['input_terminator_text'] if 'input_terminator_text' in request.form else ''
    split_method    = request.form['radio_split_method']    if 'radio_split_method' in request.form else ''
    action          = request.form['action']                if 'action' in request.form else ''

    db = hci_db()

    if action == "download":
        (filename, filebytes) = db.get_file(project_id)
        return send_file(
            BytesIO(filebytes),
            as_attachment=True,
            attachment_filename=filename,
            mimetype='application/octet-stream'
        )

    if action == "test":
        (filename, filebytes) = db.get_file(project_id)
        with BytesIO(filebytes) as pdf_file_stream:
            pdf_file = PdfFileReader(pdf_file_stream)
            return "Number of pages {0}".format(pdf_file.getNumPages())

    if action == "save_project":
        db.update_project(project_id, split_method, n_page, terminator_text)

    if action == "delete_project":
        db.delete_project(project_id)
        view_model = get_model()
        return view(view_model, view_path="pdf_splitter/pdf_splitter_projects_get.html")


    project = db.get_project_info(project_id)
    
    view_model["project"] = project
    view_model["message"] = "Saved"
    return view(view_model, view_path="pdf_splitter/pdf_splitter_project_get.html")
コード例 #16
0
def api_administration(errorMessages=None):

    if request.method != 'POST' or not request.is_json:
        logging.info(
            "message=Invalid request|method={0}|is_json={1}|src={2}|event=end".
            format(request.method, request.is_json, __name__))
        abort(404, {
            "is_api": True,
            "message": "Invalid request",
            "src": __name__
        })

    view_model = get_model()

    #db = hci_firestore()

    #has_access = db.has_access(__MODULE__, view_model["user_id"])

    user_id = view_model['user_id']

    application_name = request.json["application_name"]
    user_email = request.json["user_email"]
    action = request.json["action"]

    logging.info(
        "user_id={0}|application_name={1}|user_email={2}|action={3}".format(
            user_id, application_name, user_email, action))

    if action == "adsd_application_user":
        db = hci_firestore()

        db.add_application_access(application_name, user_id)

        #db.add_application_user(application_name, user_email)
        # db.assign_application(application_name, user_email)
        #user_list = db.get_application_users(application_name)

    return "OK"
コード例 #17
0
def administration_assignments_get():
    """Status: dev | test | review | production """
    
    db = hci_firestore()

    view_model = get_model()

    has_access = db.has_access(__MODULE__, view_model["user_id"])

    user_list = db.get_user_list()

    if not has_access:

        logging.info("has_access={0}|event=end".format(has_access))

        abort(404)
    
    logging.info("has_access={0}|event=end".format(has_access))

    # view_model["application_list"] = db.get_applications()

    view_model["user_list"] = user_list

    return view(view_model)
コード例 #18
0
def webroot_login_get():
    logging.info("In webroot_login_get()")
    view_model = get_model()
    if view_model["valid_app_token"]:
        return view(view_model, view_path="site/webroot_get.html")
    return view(view_model)
コード例 #19
0
def webroot_contact_get():
    logging.info("In webroot_contact_get()")
    view_model = get_model()
    return view(view_model)
コード例 #20
0
def webroot_get():
    logging.info("In webroot_get()")
    view_model = get_model()
    resp = view(view_model)
    #resp.set_cookie('userID', "zhizhi")
    return resp
コード例 #21
0
ファイル: pdf_splitter.py プロジェクト: ongzhixian/hci-admin
def webroot_pdf_splitter_get():
    logging.info("In webroot_pdf_splitter_get()")
    view_model = get_model()
    db = hci_db()
    return view(view_model)
コード例 #22
0
ファイル: site.py プロジェクト: ongzhixian/hci-admin
def webroot_note_get(topic=None):
    logging.info("In webroot_note_get()")
    view_model = get_model()
    return view(view_model)
コード例 #23
0
ファイル: site.py プロジェクト: ongzhixian/hci-admin
def webroot_classifier_get():
    logging.info("In webroot_classifier_get()")
    view_model = get_model()
    return view(view_model)
コード例 #24
0
ファイル: pdf_splitter.py プロジェクト: ongzhixian/hci-admin
def pdf_splitter_create_project_get():
    logging.info("In pdf_splitter_create_project_get()")
    view_model = get_model()
    return view(view_model)
コード例 #25
0
ファイル: user.py プロジェクト: ongzhixian/gcp-zxsh
def add_user_get():
    logging.info("In list_user_get()")
    view_model = get_model()
    return view(view_model)