Skip to content

Commit

Permalink
home updates template from db
Browse files Browse the repository at this point in the history
  • Loading branch information
pwshugar committed Aug 11, 2013
1 parent b663d7f commit e1594c2
Show file tree
Hide file tree
Showing 8 changed files with 187 additions and 52 deletions.
24 changes: 0 additions & 24 deletions css/assassin.css
Original file line number Diff line number Diff line change
Expand Up @@ -18,28 +18,4 @@
#infoarea {
color: gray !important;
}
/*
#nocontract {
display: none;
}
.info {
display: none;
}
#info {
display: none;
}
#killbutton {
display: none;
}
#resetbutton {
display: none;
}
li {
list-style-type: none;
}*/

2 changes: 2 additions & 0 deletions js/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,14 @@
<script src="js/models/Profile.js"></script>
<script src="js/models/Join.js"></script>
<script src="js/models/Create.js"></script>
<script src="js/models/Home.js"></script>
<script src="js/views/AppView.js"></script>
<script src="js/views/LoginView.js"></script>
<script src="js/views/SignupView.js"></script>
<script src="js/views/ProfileView.js"></script>
<script src="js/views/JoinView.js"></script>
<script src="js/views/CreateView.js"></script>
<script src="js/views/HomeView.js"></script>
<script>
$(document).ready(function (){
var socket = io.connect('/');
Expand Down
13 changes: 12 additions & 1 deletion js/models/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ var App = Backbone.Model.extend({
this.set('profile', new Profile());
this.set('join', new Join());
this.set('create', new Create());
this.set('home', new Home());


socket.on('roomUpdate', function (){
self.get('home').contractUpdate(self.get('home'));
});

this.get('login').on('goSignup', function (){
self.goSignup();
Expand Down Expand Up @@ -71,6 +77,11 @@ var App = Backbone.Model.extend({
self.goHome();
});

this.get('home').on('logout', function (){
socket.emit('roomUpdate');
self.goLogin();
});

},

checkView: function (){ this.trigger('goLogin'); },
Expand All @@ -79,6 +90,6 @@ var App = Backbone.Model.extend({
goLogin: function (){ this.trigger('goLogin'); },
goJoin: function (){ this.trigger('goJoin'); },
goCreate: function (){ this.trigger('goCreate'); },
goHome: function (){ this.trigger('goLogin'); }
goHome: function (){ this.trigger('goHome'); }

});
54 changes: 54 additions & 0 deletions js/models/Home.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
var Home = Backbone.Model.extend({

initialize: function (){

this.set('name', 'Peter Shugar');
this.set('username', 'peter');
this.set('age', '28');
this.set('weapon', 'Zombies');
this.set('fact', 'I have a hairless cat');
this.set('message', 'hi');

},

contractUpdate: function (self){
$.ajax({
url:"/contractUpdate",
type: "post",
data: { flag: false },
success: function (data){
if (data){
if (data.flag){
self.set('message', data.message);
self.set('name', undefined);
self.set('username', undefined);
self.set('age', undefined);
self.set('weapon', undefined);
self.set('fact', undefined);
self.set('flag', undefined);
// if (data.flag === 'admin'){ $('#resetbutton').css('display', 'block'); }
} else {
// $('#killbutton').css('display', "block");
self.set('message', undefined);
self.set('name', data.fname + " " + data.lname);
self.set('username', data.username[0].toUpperCase() + data.username.slice(1));
self.set('age', data.age);
self.set('weapon', data.weapon);
self.set('fact', data.fact);
}
} else {
// $('#killbutton').css('display', "none");
self.set('message', 'You were assassinated. Game Over.');
self.set('name', undefined);
self.set('username', undefined);
self.set('age', undefined);
self.set('weapon', undefined);
self.set('fact', undefined);
self.set('flag', undefined);
}
}
});
}

});

68 changes: 41 additions & 27 deletions js/router.js
Original file line number Diff line number Diff line change
Expand Up @@ -200,30 +200,44 @@ exports.reset = function (req, res){
};

exports.contractUpdate = function (req, res){
GroupModel.findOne({ groupname: req.session.groupname }, function (err, groupdata){
var messageObj = {};
if (!groupdata.started && !groupdata.winner){
messageObj.flag = 'user';
messageObj.message = 'Game has not started yet.'
res.send(messageObj);
} else {
UserModel.findOne({ username: req.session.username }, 'contract', function (err, userdata){
if (userdata === null){ res.send(); }
else {
if (groupdata.winner){
UserModel.findOne({ username: groupdata.winner}, function (err, winnerdata){
messageObj.flag = 'user';
if (req.session.username === groupdata.admin){ messageObj.flag = 'admin'; }
messageObj.message = winnerdata.fname + " " + winnerdata.lname + " won!";
res.send(messageObj);
});
} else if (userdata.contract){
UserModel.findOne({ username: userdata.contract }, function (err, contractdata){
res.send(contractdata);
});
} else { res.send(null); }
}
});
}
});
};
var test = {
username: 'm',
fname: 'm',
lname: 'm',
age: 'm',
fact: 'm',
weapon: 'm',
};
res.send(test);
};



// exports.contractUpdate = function (req, res){
// GroupModel.findOne({ groupname: req.session.groupname }, function (err, groupdata){
// var messageObj = {};
// if (!groupdata.started && !groupdata.winner){
// messageObj.flag = 'user';
// messageObj.message = 'Game has not started yet.';
// res.send(messageObj);
// } else {
// UserModel.findOne({ username: req.session.username }, 'contract', function (err, userdata){
// if (userdata === null){ res.send(); }
// else {
// if (groupdata.winner){
// UserModel.findOne({ username: groupdata.winner}, function (err, winnerdata){
// messageObj.flag = 'user';
// if (req.session.username === groupdata.admin){ messageObj.flag = 'admin'; }
// messageObj.message = winnerdata.fname + " " + winnerdata.lname + " won!";
// res.send(messageObj);
// });
// } else if (userdata.contract){
// UserModel.findOne({ username: userdata.contract }, function (err, contractdata){
// res.send(contractdata);
// });
// } else { res.send(null); }
// }
// });
// }
// });
// };
10 changes: 10 additions & 0 deletions js/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,11 @@ app.get('/js/models/Create.js', function (req, res){
res.sendfile('js/models/Create.js');
});

app.get('/js/models/Home.js', function (req, res){
res.setHeader('Content-Type', 'text/javascript');
res.sendfile('js/models/Home.js');
});

app.get('/js/views/AppView.js', function (req, res){
res.setHeader('Content-Type', 'text/javascript');
res.sendfile('js/views/AppView.js');
Expand Down Expand Up @@ -208,6 +213,11 @@ app.get('/js/views/CreateView.js', function (req, res){
res.sendfile('js/views/CreateView.js');
});

app.get('/js/views/HomeView.js', function (req, res){
res.setHeader('Content-Type', 'text/javascript');
res.sendfile('js/views/HomeView.js');
});

app.get('/css/login.css', function (req, res){
res.setHeader('Content-Type', 'text/css');
res.sendfile('./css/login.css');
Expand Down
4 changes: 4 additions & 0 deletions js/views/AppView.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ var AppView = Backbone.View.extend({
this.model.on('goCreate', function (){
self.render(new CreateView({ model: self.model.get('create') }));
});

this.model.on('goHome', function (){
self.render(new HomeView({ model: self.model.get('home') }));
});

this.model.checkView();
},
Expand Down
64 changes: 64 additions & 0 deletions js/views/HomeView.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
var HomeView = Backbone.View.extend({

initialize: function (){
},

tagName: 'div',
className: 'frame signIn_fancy',

template: _.template(
'<div class="header">\
<h1>Welcome</h1>\
<div><button class="edit" type="button" id="logout">Log out</button></div>\
</div>\
<div class="scrollable">\
<div class="editor flex-none" id="divIn">\
<div class="well-header" id="infoarea">Target Profile</div>\
<div class="well">\
<h2 class="info" id="name"><%= name %></h2>\
<p id="nocontract" ><%= message %></p>\
<p class="info" ><b>Assassin Name: </b><span id="username"><%= username %></span></p>\
<p class="info" ><b>Age: </b><span id="age"><%= age %></span></p>\
<p class="info" ><b>Weapon of Choice: </b><span id="weapon"><%= weapon %></span></p>\
<p class="info" ><b>Interesting Fact: </b><span id="fact"><%= fact %></span></p><br>\
</div>\
<button class="red large" id="killbutton" >Kill Target</button>\
<button class="black large" id="resetbutton" >Reset Game</button>\
</div>\
</div>'
),

events: {
'click #logout': 'clicklogout',
'click #killbutton': 'kill',
'click #resetbutton': 'reset'
},

clicklogout: function (){ this.logout(this.model); },

logout: function (model){
$.ajax({
url:"/logout",
type: "post",
data: {},
success: function (data){
model.trigger('logout');
}
});
},

render: function (){

this.$el.html(this.template(this.model.attributes));
return this.el;
}

});








0 comments on commit e1594c2

Please sign in to comment.