From 250e1d236b96c096b726dff82f34c04cb1d6308b Mon Sep 17 00:00:00 2001 From: Will Marshall Date: Thu, 20 Mar 2014 16:56:47 +1100 Subject: [PATCH] Working login form --- .../login_sidebar_controller.js.coffee | 13 ++++++- .../javascripts/darkswarm/darkswarm.js.coffee | 3 ++ app/views/shared/_login_panel.html.haml | 34 ++++++++++++++++++- 3 files changed, 48 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/darkswarm/controllers/login_sidebar_controller.js.coffee b/app/assets/javascripts/darkswarm/controllers/login_sidebar_controller.js.coffee index efd2d7e3e9..5e6d051e93 100644 --- a/app/assets/javascripts/darkswarm/controllers/login_sidebar_controller.js.coffee +++ b/app/assets/javascripts/darkswarm/controllers/login_sidebar_controller.js.coffee @@ -1,3 +1,14 @@ -window.LoginSidebarCtrl = Darkswarm.controller "LoginSidebarCtrl", ($scope) -> +window.LoginSidebarCtrl = Darkswarm.controller "LoginSidebarCtrl", ($scope, $http) -> + $scope.spree_user = { + remember_me: 0 + } + $scope.active = -> $scope.active_sidebar == '/login' + + $scope.submit = -> + $http.post("/user/spree_user/sign_in", {spree_user: $scope.spree_user}).success (data)-> + location.href = location.origin + location.pathname # Strips out hash fragments + .error (data) -> + $scope.errors = data.message + diff --git a/app/assets/javascripts/darkswarm/darkswarm.js.coffee b/app/assets/javascripts/darkswarm/darkswarm.js.coffee index 12bc0023c6..de8517124f 100644 --- a/app/assets/javascripts/darkswarm/darkswarm.js.coffee +++ b/app/assets/javascripts/darkswarm/darkswarm.js.coffee @@ -1,2 +1,5 @@ window.Darkswarm = angular.module("Darkswarm", ["ngResource", "filters"]).config ($httpProvider) -> $httpProvider.defaults.headers.post['X-CSRF-Token'] = $('meta[name="csrf-token"]').attr('content') + $httpProvider.defaults.headers['common']['X-Requested-With'] = 'XMLHttpRequest' + $httpProvider.defaults.headers.common.Accept = "application/json, text/javascript, */*" + diff --git a/app/views/shared/_login_panel.html.haml b/app/views/shared/_login_panel.html.haml index a553add506..e2b3d561a8 100644 --- a/app/views/shared/_login_panel.html.haml +++ b/app/views/shared/_login_panel.html.haml @@ -1,6 +1,38 @@ .login-panel %a{href: "#"} Close #login-content{"ng-controller" => "LoginSidebarCtrl", "ng-show" => "active()"} - = render "home/login" + %h2 Login + %form{"ng-submit" => "submit()"} + .alert-box.alert{"ng-show" => "errors != null"} + {{ errors }} + .row + .large-12.columns + %label{for: "email"} Email + %input.title.input-text{name: "email", + type: "email", + tabindex: 1, + "ng-model" => "spree_user.email"} + .row + .large-12.columns + %label{for: "password"} Password + %input.title.input-text{name: "password", + type: "password", + autocomplete: "off", + tabindex: 2, + "ng-model" => "spree_user.password"} + .row + .large-12.columns + %label{for: "remember_me"} Remember Me + %input{name: "remember_me", + type: "checkbox", + value: "1", + "ng-model" => "spree_user.remember_me"} + .row + .large-12.columns + %input.button.primary{name: "commit", + tabindex: "3", + type: "submit", + value: "Login"} + #sign-up-content{"ng-controller" => "SignupSidebarCtrl", "ng-show" => "active()"} = render "home/signup"