Skip to content

Instantly share code, notes, and snippets.

@carlwoodward
Forked from SET001/gist:1169674
Created August 25, 2011 00:54
Show Gist options
  • Save carlwoodward/1169698 to your computer and use it in GitHub Desktop.
Save carlwoodward/1169698 to your computer and use it in GitHub Desktop.
login shit
User = Backbone.Model.extend({
login_attempts: 3,
login: function(){
var that = this;
var res = null;
$.ajaxSetup({async:false});
$.post(SITE_PATH + 'user/login', $('form#loginform').serialize(), function(data){
try{
res = $.parseJSON(data);
}
catch(e){
--that.login_attempts;
res = [data, that.login_attempts];
}
});
return res;
}
});
ApplicationView = Backbone.View.extend({
_name: 'common',
_content: null,
_loginBarState: -1,
el: "body",
events:{
"click a.login" : "popup_login",
"submit form#loginform": "login"
},
initialize: function(){
this.model.bind('reset', this.render);
},
login: function(){
var res = this.model.login();
this.trigger(res == null ? 'login:unsuccessful' : 'login:successful');
},
....
Application = Backbone.Router.extend({
_user: null,
_view: null,
_realty: null,
routes: {
"": "index",
"register": "register",
"remindpass":"remindpass",
},
index: function(){
this._view._content = new StartPage({collection: this._realty});
this._view._content.bind('login:successful', function() {
this.navigate('somewhere-new', true) // Remember to trigger routing.
}, this);
this._view._content.render();
},
register: function(){
this._view._content = new RegisterPage();
this._view._content.render();
},
remindpass: function(){
this._view._content = new RegisterPage();
this._view._content.render();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment