|
1 | 1 | Discourse.Group = Discourse.Model.extend({ |
| 2 | + userCountDisplay: function(){ |
| 3 | + var c = this.get('user_count'); |
| 4 | + // don't display zero its ugly |
| 5 | + if(c > 0) { |
| 6 | + return c; |
| 7 | + } |
| 8 | + }.property('user_count'), |
| 9 | + |
| 10 | + loadUsers: function() { |
| 11 | + var group = this; |
| 12 | + |
| 13 | + Discourse.ajax('/admin/groups/' + this.get('id') + '/users').then(function(payload){ |
| 14 | + var users = Em.A() |
| 15 | + payload.each(function(user){ |
| 16 | + users.addObject(Discourse.User.create(user)); |
| 17 | + }); |
| 18 | + group.set('users', users) |
| 19 | + }); |
| 20 | + }, |
| 21 | + |
| 22 | + usernames: function() { |
| 23 | + var users = this.get('users'); |
| 24 | + var usernames = ""; |
| 25 | + if(users) { |
| 26 | + usernames = $.map(users, function(user){ |
| 27 | + return user.get('username'); |
| 28 | + }).join(',') |
| 29 | + } |
| 30 | + return usernames; |
| 31 | + }.property('users') |
2 | 32 |
|
3 | 33 | }); |
4 | 34 |
|
5 | 35 | Discourse.Group.reopenClass({ |
6 | 36 | findAll: function(){ |
7 | 37 | var list = Discourse.SelectableArray.create(); |
8 | 38 |
|
9 | | - list.addObject(Discourse.Group.create({id: 1, name: "all mods", members: ["A","b","c"]})); |
10 | | - list.addObject(Discourse.Group.create({id: 2, name: "other mods", members: ["A","b","c"]})); |
| 39 | + Discourse.ajax("/admin/groups").then(function(groups){ |
| 40 | + groups.each(function(group){ |
| 41 | + list.addObject(Discourse.Group.create(group)); |
| 42 | + }); |
| 43 | + }); |
11 | 44 |
|
12 | 45 | return list; |
13 | 46 | }, |
14 | 47 |
|
15 | 48 | find: function(id) { |
16 | 49 | var promise = new Em.Deferred(); |
17 | | - |
| 50 | + |
18 | 51 | setTimeout(function(){ |
19 | 52 | promise.resolve(Discourse.Group.create({id: 1, name: "all mods", members: ["A","b","c"]})); |
20 | 53 | }, 1000); |
21 | | - |
| 54 | + |
22 | 55 | return promise; |
23 | 56 | } |
24 | 57 | }); |
0 commit comments