Added "new_companies" list for the period
implements bp member-directory Change-Id: I7e00388a7f9b1bcb4343be34738dc8ab74932f62
This commit is contained in:
@@ -60,6 +60,49 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function show_new_companies_table(options) {
|
||||||
|
var table_column_names = ["index", "link", "date"];
|
||||||
|
var table_id = "new_companies_table";
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: make_uri("/api/1.0/new_companies", options),
|
||||||
|
dataType: "json",
|
||||||
|
success: function (data) {
|
||||||
|
var tableData = data["stats"];
|
||||||
|
|
||||||
|
var tableColumns = [];
|
||||||
|
var sort_by_column = 2;
|
||||||
|
for (var i = 0; i < table_column_names.length; i++) {
|
||||||
|
tableColumns.push({"mData": table_column_names[i]});
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < tableData.length; i++) {
|
||||||
|
var company_link = make_uri('/report/members', {company:tableData[i].name});
|
||||||
|
tableData[i].link = "<a href=\"" + company_link + "\">" + tableData[i].name + "</a>";
|
||||||
|
tableData[i].date = tableData[i].date_str;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (table_id) {
|
||||||
|
$("#" + table_id).dataTable({
|
||||||
|
"aaSorting": [
|
||||||
|
[ sort_by_column, "desc" ]
|
||||||
|
],
|
||||||
|
"bFilter": true,
|
||||||
|
"bInfo": true,
|
||||||
|
"bAutoWidth": false,
|
||||||
|
"aaData": tableData,
|
||||||
|
"aoColumns": tableColumns,
|
||||||
|
"bDestroy": true,
|
||||||
|
'bPaginate': true,
|
||||||
|
"sPaginationType": "full_numbers",
|
||||||
|
"aLengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
|
||||||
|
"iDisplayLength": 10
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function show_companies_table(options) {
|
function show_companies_table(options) {
|
||||||
var table_column_names = ["index", "link", "count"];
|
var table_column_names = ["index", "link", "count"];
|
||||||
var table_id = "companies_table";
|
var table_id = "companies_table";
|
||||||
@@ -76,14 +119,8 @@
|
|||||||
tableColumns.push({"mData": table_column_names[i]});
|
tableColumns.push({"mData": table_column_names[i]});
|
||||||
}
|
}
|
||||||
|
|
||||||
var wasIndependent = 0;
|
|
||||||
|
|
||||||
for (i = 0; i < tableData.length; i++) {
|
for (i = 0; i < tableData.length; i++) {
|
||||||
if (tableData[i].name == '*independent')
|
var company_link = make_uri('/report/members', {company:tableData[i].name});
|
||||||
wasIndependent = 1;
|
|
||||||
else
|
|
||||||
tableData[i].index = i + 1 - wasIndependent;
|
|
||||||
var company_link = make_uri('/report/registrants', {company:tableData[i].name});
|
|
||||||
tableData[i].link = "<a href=\"" + company_link + "\">" + tableData[i].name + "</a>";
|
tableData[i].link = "<a href=\"" + company_link + "\">" + tableData[i].name + "</a>";
|
||||||
tableData[i].count = tableData[i].metric;
|
tableData[i].count = tableData[i].metric;
|
||||||
}
|
}
|
||||||
@@ -184,9 +221,12 @@
|
|||||||
|
|
||||||
{% if company == '' %}
|
{% if company == '' %}
|
||||||
show_companies_table(base_options);
|
show_companies_table(base_options);
|
||||||
|
show_new_companies_table(base_options);
|
||||||
renderChart("/api/1.0/stats/companies", "members_container", "members_chart", base_options);
|
renderChart("/api/1.0/stats/companies", "members_container", "members_chart", base_options);
|
||||||
{% else %}
|
{% else %}
|
||||||
$('#companies_block').hide();
|
$('#companies_block').hide();
|
||||||
|
$('#new_companies_table_header').hide();
|
||||||
|
$('#new_companies_table').hide();
|
||||||
{% endif %}
|
{% endif %}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -320,9 +360,9 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<table style="width: 50%" cellspacing="0">
|
<table style="width: 100%" cellspacing="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td style="width: 100%; vertical-align: top; padding-right: 3em;">
|
<td style="width: 50%; vertical-align: top; padding-right: 3em;">
|
||||||
<h2>Individual Members</h2>
|
<h2>Individual Members</h2>
|
||||||
|
|
||||||
<div class="body" style="margin-right: 1em;">
|
<div class="body" style="margin-right: 1em;">
|
||||||
@@ -340,6 +380,26 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
<td style="width: 50%; vertical-align: top; padding-right: 3em;">
|
||||||
|
<div id="new_companies_table_header">
|
||||||
|
<h2>New Companies</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="body" style="margin-right: 1em;">
|
||||||
|
|
||||||
|
<table id="new_companies_table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>#</th>
|
||||||
|
<th>Company</th>
|
||||||
|
<th>First Member Joined</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
@@ -94,6 +94,35 @@ def _get_aggregated_stats(records, metric_filter, keys, param_id,
|
|||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
@app.route('/api/1.0/new_companies')
|
||||||
|
@decorators.jsonify('stats')
|
||||||
|
@decorators.exception_handler()
|
||||||
|
@decorators.record_filter(ignore='start_date')
|
||||||
|
def get_new_companies(records):
|
||||||
|
|
||||||
|
days = int(flask.request.args.get('days') or reports.DEFAULT_DAYS_COUNT)
|
||||||
|
start_date = int(time.time()) - days * 24 * 60 * 60
|
||||||
|
|
||||||
|
result = {}
|
||||||
|
for record in records:
|
||||||
|
company_name = record['company_name']
|
||||||
|
date = record['date']
|
||||||
|
|
||||||
|
if company_name not in result or result[company_name] > date:
|
||||||
|
result[company_name] = date
|
||||||
|
|
||||||
|
response = list(({'name': company_name,
|
||||||
|
'date': result[company_name],
|
||||||
|
'date_str': helpers.format_date(result[company_name])})
|
||||||
|
for company_name in result
|
||||||
|
if result[company_name] >= start_date)
|
||||||
|
|
||||||
|
response.sort(key=lambda x: x['date'], reverse=True)
|
||||||
|
utils.add_index(response)
|
||||||
|
|
||||||
|
return response
|
||||||
|
|
||||||
|
|
||||||
@app.route('/api/1.0/stats/companies')
|
@app.route('/api/1.0/stats/companies')
|
||||||
@decorators.jsonify('stats')
|
@decorators.jsonify('stats')
|
||||||
@decorators.exception_handler()
|
@decorators.exception_handler()
|
||||||
@@ -320,6 +349,7 @@ def get_module(module):
|
|||||||
def get_members(records):
|
def get_members(records):
|
||||||
response = []
|
response = []
|
||||||
for record in records:
|
for record in records:
|
||||||
|
record = vault.extend_record(record)
|
||||||
nr = dict([(k, record[k]) for k in
|
nr = dict([(k, record[k]) for k in
|
||||||
['author_name', 'date', 'company_name', 'member_uri']])
|
['author_name', 'date', 'company_name', 'member_uri']])
|
||||||
nr['date_str'] = helpers.format_date(nr['date'])
|
nr['date_str'] = helpers.format_date(nr['date'])
|
||||||
|
@@ -5747,7 +5747,7 @@
|
|||||||
{
|
{
|
||||||
"domains": ["cisco.com"],
|
"domains": ["cisco.com"],
|
||||||
"company_name": "Cisco Systems",
|
"company_name": "Cisco Systems",
|
||||||
"aliases": ["Cisco System", "Cisco Systems", "Cisco Systems Inc.", "Cisco Systems, Inc.", "Cisco Systems Inc., Intel, Microsoft, Dorkbotz", "Cisco System, Inc., Nebula, Inc."]
|
"aliases": ["Cisco System", "Cisco Systems", "Cisco Systems Inc.", "Cisco Systems, Inc.", "Cisco Systems Inc., Intel, Microsoft, Dorkbotz", "Cisco System, Inc., Nebula, Inc.", "Cisco", "Cisco Inc"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"domains": ["citrix.com"],
|
"domains": ["citrix.com"],
|
||||||
@@ -5987,7 +5987,7 @@
|
|||||||
{
|
{
|
||||||
"domains": ["intel.com"],
|
"domains": ["intel.com"],
|
||||||
"company_name": "Intel",
|
"company_name": "Intel",
|
||||||
"aliases": ["Intel Corp.", "Intel Corporation", "Intel Media", "Intel OTC"]
|
"aliases": ["Intel Corp.", "Intel Corporation", "Intel Media", "Intel OTC", "Intern at intel"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"domains": ["interhost.no"],
|
"domains": ["interhost.no"],
|
||||||
@@ -6348,7 +6348,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"domains": ["suse.cz", "suse.de", "suse.com"],
|
"domains": ["suse.cz", "suse.de", "suse.com"],
|
||||||
"company_name": "SUSE"
|
"company_name": "SUSE",
|
||||||
|
"aliases": ["SUSE Linux Products GmbH"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"domains": ["swiftstack.com"],
|
"domains": ["swiftstack.com"],
|
||||||
|
Reference in New Issue
Block a user