Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 37 additions & 1 deletion rein/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -1615,7 +1615,7 @@ def config_web():
@app.route('/trust_score/<dest_msin>', defaults={'source_msin': user.msin})
@app.route('/trust_score/<dest_msin>/<source_msin>', methods=['GET'])
def trust_score(dest_msin, source_msin):
return calculate_trust_score(dest_msin, source_msin, rein)
return calculate_trust_score(dest_msin, source_msin, rein, url=url, user=user, log=log)

@app.route('/settings', methods=['GET'])
def settings():
Expand All @@ -1638,6 +1638,42 @@ def settings():

return render_template('settings.html', user=user, hidden_jobs=hidden_jobs, hidden_bids=hidden_bids, hidden_mediators=hidden_mediators, fee=fee, trust_score=trust_score)

@app.route('/display-users', methods=['GET'])
def display_users():
data = []
try:
data = request.args['data']

except:
pass

data = json.loads(data)
users = []
for enrollment in data:
enrolled_user = {}
enrollment = document_to_dict(enrollment)
enrolled_user['User'] = '<a href="/profile/{}">{}</a>'.format(enrollment['Master signing address'], enrollment['User'])
enrolled_user['Contact'] = '<a href="mailto:/" target="_blank">{}</a>'.format(enrollment['Contact'])
enrolled_user['MSIN'] = enrollment['Secure Identity Number']
enrolled_user['Rating'] = get_average_user_rating_display(log, url, user, rein, enrolled_user['MSIN'])
users.append(enrolled_user)

return render_template('display-users.html', user=user, users=users)

@app.route('/user_search/<search_input>', methods=['GET'])
def user_search(search_input):
if not search_input:
return 'false'

sel_url = "{0}query?owner={1}&query=get_user&testnet={2}&search_input={3}"
data = safe_get(log, sel_url.format(url, user.maddr, rein.testnet, search_input))
data = data['get_user']

if 'error' in data or not data:
return 'false'

return json.dumps(data)

@app.route("/post", methods=['POST', 'GET'])
def job_post():
form = JobPostForm(request.form)
Expand Down
6 changes: 6 additions & 0 deletions rein/html/css/style_v2.css
Original file line number Diff line number Diff line change
Expand Up @@ -2143,6 +2143,12 @@ border-radius: 50%;}
right: 36px;
background: url(../img/chevron-right.png) 0 0 no-repeat;
}
ul li input {
line-height: normal;
}
ul li button {
line-height: normal;
}
#social a {
margin:0 15px 0 0;
color:#e6e6e9;
Expand Down
32 changes: 32 additions & 0 deletions rein/html/display-users.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{% extends "layout.html" %}
{% from "_form_helpers.html" import render_error %}
{% block body %}

<link href="/plugins/datatables/dataTables.bootstrap.min.css" rel="stylesheet">
<script src="/js/displayUsers.js"></script>

<br>
<div class="well">
<p>
<table class="table m-table table-bordered table-hover table-heading" id="userTable">
<thead>
<th>Handle</th>
<th>Contact</th>
<th>SIN</th>
<th>Rating</th>
</thead>
<tbody>
{% for user in users %}
<tr>
<td>{{ user.User|safe }}</td>
<td>{{ user.Contact|safe }}</td>
<td>{{ user.MSIN|safe }}</td>
<td>{{ user.Rating|safe }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</p>
</div>

{% endblock %}
9 changes: 9 additions & 0 deletions rein/html/js/displayUsers.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
document.addEventListener("DOMContentLoaded", function(event) {
$('#userTable').DataTable( {
"paging": false,
"ordering": true,
"order": [[3, "desc"]],
"info": true,
"searching": false
});
});
19 changes: 19 additions & 0 deletions rein/html/js/search.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
function search(inputId) {
searchInput = $("#" + inputId).val();
if (searchInput == "") {
alert('Please enter user name, msin or contact information of the person you\'re trying to find.')
}

$.ajax({
method: "GET",
url: "/user_search/" + searchInput,
contentType: "application/json",
success: function(data) {
if (data == 'false') {
alert('User could not be found');
} else {
document.location = '/display-users?data=' + data;
}
}
})
}
14 changes: 14 additions & 0 deletions rein/html/layout.html
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,17 @@
<div class="col-xs-4 col-sm-8 top-panel-right">
<a href="#" class="about">about</a>
<ul class="nav navbar-nav pull-right panel-menu">
<li>
<input
type="text"
placeholder="Search..."
id="searchInput"
onkeydown = "if (event.keyCode == 13) {search('searchInput')}"
>
</li>
<li>
<button onclick="search('searchInput')">Search</button>
</li>
<!--<li class="hidden-xs">
<a href="index.html" class="modal-link">
<i class="fa fa-bell"></i>
Expand Down Expand Up @@ -214,7 +225,10 @@ <h4>ReinProject</h4>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="/plugins/bootstrap/bootstrap.min.js"></script>
<script src="/plugins/raty-fa/jquery.raty-fa.js"></script>
<script src="/plugins/datatables/jquery.dataTables.min.js"></script>
<script src="/plugins/datatables/dataTables.bootstrap.min.js"></script>
<script src="/js/hide.js"></script>
<script src="/js/search.js"></script>
<!-- All functions for this theme + document.ready processing -->
<script src="/js/devoops.js"></script>
</body>
Expand Down
1 change: 1 addition & 0 deletions rein/html/plugins/datatables/dataTables.bootstrap.min.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions rein/html/plugins/datatables/dataTables.bootstrap.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading