Commit 49df1f18 authored by Ravi Tripathi's avatar Ravi Tripathi
Browse files

Merge branch 'master' into 'feat-certify-workflow'

# Conflicts:
#   app/__init__.py
#   messages.py
parents e63f9e2e 081937de
[flake8]
count = True
max-line-length = 79
show-source = True
statistics = True
exclude =
.git,
__pycache__,
venv
image: "python:3.7"
image: "python:3.6"
# Change pip's cache directory to be inside the project directory since we can
# only cache local items.
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
cache:
paths:
- .cache/pip
- venv/
before_script:
- python --version
- pip install pylint
- python3 -m venv venv
- source venv/bin/activate
- pip install black==22.3.0 flake8==4.0.1 pylint==2.13.8
stages:
- lint
linting:
black:
tags:
- lint
stage: lint
script:
- black --check --diff .
only:
- merge_requests
flake8:
tags:
- lint
stage: lint
script:
- flake8 .
only:
- merge_requests
pylint:
tags:
- lint
stage: lint
script:
- pylint --ignore=tests.py --max-line-length=120 *.py app
- pylint app *.py
only:
- merge_requests
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.2.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- repo: https://github.com/psf/black
rev: 21.5b0
hooks:
- id: black
- repo: https://github.com/pycqa/flake8
rev: 3.9.1
hooks:
- id: flake8
- repo: https://github.com/PyCQA/pylint
rev: v2.13.8
hooks:
- id: pylint
......@@ -65,6 +65,28 @@ $ pip install -r requirements.txt
`$ rabbitmqctl change_password reggie <new_password>`.
- Note that rabbitmqctl may require sudo permissions and that changing the password will require a password
change in the credentials within `test_producer.py` and `base_consumer.py` as well.
### Setup pre commit hook
- via Homebrew(Mac)
```shell
brew install pre-commit
```
- via pip
```shell
pip install pre-commit
```
After pre-commit is installed, run install in the repo directory:
```shell
$ pre-commit install
> pre-commit installed at .git/hooks/pre-commit
```
# Run Project
## 1. Connect to OHPC/OOD
......
......@@ -58,9 +58,13 @@ def create_app(config_name):
username=session['user'].get('username'),
fullname=session['user'].get('fullname'), email=session['user'].get('email'),
referrer=session['return_url'], cancel_url=vars.default_referrer,
cancel_msg=messages.cancel_message, pre_certification_msg=messages.pre_certification_message,
cancel_msg=messages.cancel_message,
pre_certification_msg=messages.pre_certification_message,
certification_msg=messages.certification_message)
elif rc_util.check_state(session['user'].get('username')) == "ok":
return render_template('account/good_standing.html', good_standing_msg= messages.good_standing_message)
else:
return render_template('auth/SignUp.html', room_id=session['uid'],
username=session['user'].get('username'),
......
<html class="gr__rc_uab_edu">
<title>Good Standing </title>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.7.3/socket.io.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd" crossorigin="anonymous"></script>
<script src="{{ url_for('static', filename='scripts/function.js') }}"></script>
<link rel="shortcut icon" type="image/x-icon" href="/public/favicon.ico">
<link rel="stylesheet" media="all" href="{{ url_for('static', filename='style/application.css') }}">
<link rel="stylesheet" media="all" href="{{ url_for('static', filename='style/app2.css') }}">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.navbar-inverse { background-color: rgb(0,99,65); }
button{ margin: 13px;
.important { color: #336699; }}
</style>
</head>
<body data-gr-c-s-loaded="true">
<header>
<nav class="navbar navbar-inverse navbar-static-top">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-9" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button>
<a class="navbar-brand" href="/"> UAB Research Computing</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-9">
<div class="navbar-right">
<ul class="nav navbar-nav">
<li>
<a target="_blank" href="https://docs.uabgrid.uab.edu/wiki/Cheaha_GettingStarted">
<i class="fas fa-info-circle fa-fw"></i> Online Documentation
</a>
</li>
</ul>
</div>
</div>
</div>
</nav>
</header>
<div class="container content" role="main" style="width: 100%">
<div class="col-md-2 col-sm-2 my-col">
<img alt="logo" height="auto" width="80%" src="{{ url_for('static', filename='img/logo_svg.svg') }}">
<a href="https://tinyurl.com/cheahaAL" target="_blank"></a>
</div>
<div class="col-md-10 col-sm-10 my-col">
<div id="form-wrapper">
<h2> Account in Good Standing </h2>
<p style="font-size:110%;"> {{ good_standing_msg|safe }}</p>
</div>
</div>
</div>
<footer>
<div class="container-fluid">
<div class="row">
<div class="col-md-6 col-sm-6">
<a href="https://osc.github.io/Open-OnDemand/">
<img class="footer-logo" alt="Powered by Open OnDemand" height="40" style="margin-bottom: 20px" src="{{ url_for('static', filename='img/OpenOnDemand_powered_by_RGB-cb3aad5ff5350c7994f250fb334ddcc72e343233ce99eb71fda93beddd76a847.svg') }}">
</a>
</div>
</div>
</div>
</footer>
</body>
</html>
......@@ -4,3 +4,4 @@ error_message = "An error occurred while creating your account. Research Computi
unauthorized_message = "Your UAB Research Computing account is currently on hold.<br>Accounts are put on hold if there are changes with UAB affiliation or if there is an issue on one of the platforms.<br>Please reach out to <a href="'mailto:support@listserv.uab.edu'">Research Computing</a> or attend the weekly office hours and we'll work with you to clear your account."
pre_certification_message = "Welcome back to the UAB Research Computing services page.<br>We are asking for researchers to recertify their accounts annually so that we'll know who is still actively using the systems. <br> To continue with the self certification process click on continue below"
certification_message = "Welcome back to the UAB Research Computing services page.<br>The usage of this resource is governed by UAB IT's <a href=' https://secure2.compliancebridge.com/uab/public/index.php?fuseaction=print.preview&docID=786' target='_blank'>Acceptable Use Policy </a> and <a href='https://www.uab.edu/it/home/policies/data-classification/classification-overview' target='_blank'>Data Classification Policy</a><br>To read and understand all UAB IT policies click <a href=' https://www.uab.edu/it/home/policies' target='_blank'>here</a><br>Verify your information in the form below and hit the Certify Account button when you are done."
good_standing_message= "Your account is in good standing. Click <a href=https://rc.uab.edu>here</a> to proceed to dashboard"
[tool.black]
line-length = 79
target-version = ['py36']
preview = true
[tool.pylint.main]
disable = ["import-error", "unused-argument", "broad-except"]
[tool.pylint.format]
max-line-length = 79
......@@ -90,11 +90,13 @@ def celery_certify_account(json, session):
email= json['email']
fullname= json['fullname']
queuename= rc_util.encode_name(username)
updated_by= f'{username}'
host= vars.app_host
print("CERTIFY : "+time.strftime("%m-%d-%Y_%H:%M:%S") + '\tUser ' + username + ' added to queue')
send_msg('certifying account', room)
print(username)
rc_util.certify_account(username, queuename, 'ok', 'all')
rc_util.certify_account(username, queuename, 'ok', 'all', updated_by, host)
print('sent account info')
print('Waiting for certification...')
rc_util.consume(queuename, routing_key=f'certified.{queuename}', callback=certify_gen_f(room))
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment