OSDN Git Service

154fc6095c80ec23089e2c49074427ee6ce7f615
[pettanr/pettanr.git] / app / assets / javascripts / controllers / users.js.coffee
1 class Pettanr.UsersController extends Pettanr.AppController\r
2   \r
3   # try getting current user\r
4   test: () ->\r
5     @user = new Pettanr.User.Session()  # ignore @form\r
6     @listenTo(@user, 'sign_in:success', @sign_in_success)\r
7     @listenTo(@user, 'sign_in:fail', @sign_in_fail)\r
8     @user.save({})\r
9   \r
10   sign_in: () ->\r
11     # form is Pettanr.User.Session\r
12     @listenTo(@form, 'sign_in:success', @sign_in_success)\r
13     @listenTo(@form, 'sign_in:fail', @sign_in_fail)\r
14     @form.save({})\r
15   \r
16   sign_out: () ->\r
17     @user = new Pettanr.User.Session()  # ignore @form\r
18     @listenTo(@user, 'sign_out:success', @sign_out_success)\r
19     @listenTo(@user, 'sign_out:fail', @sign_out_fail)\r
20     @user.destroy()\r
21   \r
22   # header for guest\r
23   guest: () ->\r
24     view = new Pettanr.Views.User.Guest({})\r
25     view.render()\r
26     @trigger('ready', view)\r
27   \r
28   # header for signed in user\r
29   account: () ->\r
30     view = new Pettanr.Views.User.Account({})\r
31     view.render()\r
32     @trigger('ready', view)\r
33   \r
34   sign_in_success: (user, response) ->\r
35     @trigger('success', user, response)\r
36     @trigger('sign_in', user)\r
37     @trigger('redirect', 'folders/root')\r
38   \r
39   sign_in_fail: (user, response) ->\r
40     @trigger('fail', response)\r
41   \r
42   sign_out_success: (user, response) ->\r
43     @trigger('success', user, response)\r
44     @trigger('sign_out')\r
45     @trigger('redirect', 'user_sessions/new')\r
46   \r
47   sign_out_fail: (user, response) ->\r
48     @trigger('fail', response)\r
49   \r