OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[pettanr/pettanr.git] / app / assets / javascripts / controllers / users.js.coffee
index c01f86c..5f288d1 100644 (file)
@@ -1,2 +1,49 @@
 class Pettanr.UsersController extends Pettanr.AppController\r
   \r
+  # try getting current user\r
+  test: () ->\r
+    @user = new Pettanr.User.Session()  # ignore @form\r
+    @listenTo(@user, 'sign_in:success', @sign_in_success)\r
+    @listenTo(@user, 'sign_in:fail', @sign_in_fail)\r
+    @user.save({})\r
+  \r
+  sign_in: () ->\r
+    # form is Pettanr.User.Session\r
+    @listenTo(@form, 'sign_in:success', @sign_in_success)\r
+    @listenTo(@form, 'sign_in:fail', @sign_in_fail)\r
+    @form.save({})\r
+  \r
+  sign_out: () ->\r
+    @user = new Pettanr.User.Session()  # ignore @form\r
+    @listenTo(@user, 'sign_out:success', @sign_out_success)\r
+    @listenTo(@user, 'sign_out:fail', @sign_out_fail)\r
+    @user.destroy()\r
+  \r
+  # header for guest\r
+  guest: () ->\r
+    view = new Pettanr.Views.User.Guest({operators: @operators})\r
+    view.render()\r
+    @trigger('ready', view)\r
+  \r
+  # header for signed in user\r
+  account: () ->\r
+    view = new Pettanr.Views.User.Account({operators: @operators})\r
+    view.render()\r
+    @trigger('ready', view)\r
+  \r
+  sign_in_success: (user, response) ->\r
+    @trigger('success', user, response)\r
+    @trigger('sign_in', user)\r
+    @trigger('redirect', 'folders/root')\r
+  \r
+  sign_in_fail: (user, response) ->\r
+    @trigger('fail', response)\r
+  \r
+  sign_out_success: (user, response) ->\r
+    @trigger('success', user, response)\r
+    @trigger('sign_out')\r
+    @trigger('redirect', 'user_sessions/new')\r
+  \r
+  sign_out_fail: (user, response) ->\r
+    @trigger('fail', response)\r
+  \r