Skip to content

Commit 0c67f43

Browse files
committed
Team member listing page and endpoint.
1 parent 36021ff commit 0c67f43

File tree

9 files changed

+80
-1
lines changed

9 files changed

+80
-1
lines changed

front/app/router.js

+2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ Router.map(function() {
1313
this.route('buildbots', { path: '/buildbots' });
1414
this.route('links', { path: '/links' });
1515
this.route('triage', { path: '/triage' });
16+
this.route('nag', { path: '/nags' });
17+
this.route('nag_user', { path: '/nags/:username' });
1618
});
1719

1820
export default Router;

front/app/routes/nag-user.js

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import Ember from 'ember';
2+
3+
export default Ember.Route.extend({
4+
model(params) {
5+
return { user: params.username };
6+
}
7+
});

front/app/routes/nag.js

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import Ember from 'ember';
2+
import ENV from 'rust-dashboard/config/environment';
3+
4+
export default Ember.Route.extend({
5+
model: function() {
6+
const url = `${ENV.apiBaseURL}nag/users`;
7+
return Ember.$.getJSON(url)
8+
.then(members => {
9+
return {
10+
users: members
11+
};
12+
});
13+
}
14+
});

front/app/templates/application.hbs

+2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
•
2121
{{#link-to 'buildbots'}}Buildbots{{/link-to}}
2222
•
23+
{{#link-to 'nag'}}Nags{{/link-to}}
24+
•
2325
{{#link-to 'triage'}}Triage{{/link-to}}
2426
•
2527
{{#link-to 'links'}}Useful Links{{/link-to}}

front/app/templates/nag-user.hbs

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{{outlet}}
2+
3+
4+
<img style="width:75px; height: auto" src="https://avatars.githubusercontent.com/{{model.user}}"/>
5+
<h4>
6+
{{model.user}}'s nags
7+
</h4>

front/app/templates/nag.hbs

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{{outlet}}
2+
3+
<h3>Naggable Team Members:</h3>
4+
5+
<table>
6+
{{#each model.users as |u|}}
7+
<tr>
8+
<td>
9+
{{#link-to "nag_user" u}}
10+
<img style="width:50px; height: auto" src="https://avatars.githubusercontent.com/{{u}}"/>
11+
{{/link-to}}
12+
</td>
13+
<td>
14+
{{#link-to "nag_user" u}}
15+
<strong>{{u}}</strong>
16+
{{/link-to}}
17+
</td>
18+
19+
</tr>
20+
{{/each}}
21+
</table>

front/tests/unit/routes/nag-test.js

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { moduleFor, test } from 'ember-qunit';
2+
3+
moduleFor('route:nag', 'Unit | Route | nag', {
4+
// Specify the other units that are required for this test.
5+
// needs: ['controller:foo']
6+
});
7+
8+
test('it exists', function(assert) {
9+
let route = this.subject();
10+
assert.ok(route);
11+
});
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { moduleFor, test } from 'ember-qunit';
2+
3+
moduleFor('route:nag-user', 'Unit | Route | nag user', {
4+
// Specify the other units that are required for this test.
5+
// needs: ['controller:foo']
6+
});
7+
8+
test('it exists', function(assert) {
9+
let route = this.subject();
10+
assert.ok(route);
11+
});

src/reports/nag.rs

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
use reports::teams::MEMBERSHIP;
22

33
pub fn all_team_members() -> Vec<&'static str> {
4-
MEMBERSHIP.keys().map(|m| *m).collect()
4+
let mut members = MEMBERSHIP.keys().map(|m| *m).collect::<Vec<_>>();
5+
6+
members.sort_by(|a, b| a.to_lowercase().cmp(&b.to_lowercase()));
7+
8+
members
59
}

0 commit comments

Comments
 (0)