Skip to content

Commit c955c25

Browse files
committed
removed "talks"
1 parent 4c50091 commit c955c25

File tree

9 files changed

+27
-378
lines changed

9 files changed

+27
-378
lines changed

lib/schema.js

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,6 @@ var Asset = new Schema({
1717
, html : String
1818
})
1919

20-
var Talk = new Schema({
21-
hash : { type: String, required: true, match: /^\#[_a-zA-Z0-9]{2,}$/, index: true }
22-
, name : { type: String, required: true }
23-
, startsAt : Date
24-
, description : String
25-
, speakers : [String]
26-
, tweets : [Tweet]
27-
, participants : [String]
28-
, assets : [Asset]
29-
});
30-
3120
var Event = new Schema({
3221
hash : { type: String, required: true, match: /^\#[_a-zA-Z0-9]{2,}$/, index: true }
3322
, name : { type: String, required: true }
@@ -39,17 +28,13 @@ var Event = new Schema({
3928
, description : String
4029
, author : { type: String, requried: true }
4130
, location : { type: String, required: true }
42-
, talks : [Talk]
4331
, tweets : [Tweet]
4432
, participants : [String]
4533
, assets : [Asset]
4634
});
4735

48-
Event.index({ hash: 1, 'talks.hash': 1 }, { unique: true, sparse: true });
4936
Event.index({ 'tweets.tweet_id': 1 });
50-
Event.index({ 'talks.tweets.tweet_id': 1 });
5137
Event.index({ 'assets.type': 1 });
52-
Event.index({ 'talks.assets.type': 1 });
5338

5439
var Tweet = new Schema({
5540
tweetId : String

public/javascripts/twalks.js

Lines changed: 0 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -61,15 +61,6 @@
6161
}
6262
});
6363

64-
App.Models.Talk = Backbone.Model.extend({
65-
url: function() {
66-
return '/events/' + this.eventId + '/talks/' + (this.isNew() ? 'new' : this.id) + '.json';
67-
}
68-
, initialize: function(attributes) {
69-
this.eventId = attributes.eventId;
70-
}
71-
});
72-
7364
App.Models.Tweet = Backbone.Model.extend({});
7465

7566
/**
@@ -90,16 +81,6 @@
9081
, url: '/upcomingEvents.json'
9182
});
9283

93-
App.Collections.Talks = Backbone.Collection.extend({
94-
model: App.Models.Talk
95-
, url: function() {
96-
return '/events/' + this.eventId + '/talks.json';
97-
}
98-
, initialize: function(models, options) {
99-
this.eventId = options.eventId;
100-
}
101-
});
102-
10384
App.Collections.EventTweets = Backbone.Collection.extend({
10485
model: App.Models.Tweet
10586
, url: function() {
@@ -110,17 +91,6 @@
11091
}
11192
});
11293

113-
App.Collections.TalkTweets = Backbone.Collection.extend({
114-
model: App.Models.Tweet
115-
, url: function() {
116-
return '/events/' + this.eventId + '/talks/' + this.talkId + '/tweets.json';
117-
}
118-
, initialize: function(models, options) {
119-
this.eventId = options.eventId;
120-
this.talkId = options.talkId;
121-
}
122-
});
123-
12494
/**
12595
* :: Views
12696
*/
@@ -136,41 +106,6 @@
136106
var self = this,
137107
$tabsContent = this.$('.event-footer-content');
138108

139-
this.$('.tabs .talks a').click(function() {
140-
self.$('.tabs li.active').removeClass('active');
141-
$(this).parent().addClass('active');
142-
143-
self.talksCollection.fetch({ success: function() {
144-
var view = new App.Views.TalksList({ collection: self.talksCollection });
145-
$tabsContent.empty().append(view.render().el);
146-
}});
147-
}).click();
148-
149-
this.$('.tabs .tweets a').click(function() {
150-
self.$('.tabs li.active').removeClass('active');
151-
$(this).parent().addClass('active');
152-
153-
self.tweetsCollection.fetch({ success: function() {
154-
var view = new App.Views.TweetsList({ collection: self.tweetsCollection });
155-
$tabsContent.empty().append(view.render().el);
156-
}});
157-
});
158-
159-
return this;
160-
}
161-
});
162-
163-
App.Views.Talk = Backbone.View.extend({
164-
initialize: function(options) {
165-
this.tweetsCollection = options.tweetsCollection;
166-
this.template = _.template($('#talk-template').html());
167-
}
168-
, render: function() {
169-
$(this.el).html(this.template(this.model.toJSON()));
170-
171-
var self = this,
172-
$tabsContent = this.$('.talk-footer-content');
173-
174109
this.$('.tabs .tweets a').click(function() {
175110
self.$('.tabs li.active').removeClass('active');
176111
$(this).parent().addClass('active');
@@ -213,36 +148,6 @@
213148
}
214149
});
215150

216-
App.Views.TalksList = App.Views.Event.extend({
217-
initialize: function() {
218-
this.template = _.template($('#talks-list-template').html());
219-
}
220-
, render: function() {
221-
var days = {}
222-
, self = this;
223-
224-
this.collection
225-
.sortBy(function(talk) {
226-
return talk.startsAt;
227-
})
228-
.forEach(function(talk) {
229-
var day = dateFormat(talk.startsAt, 'd mmmm yyyy')
230-
, json = talk.toJSON();
231-
json.eventId = self.collection.eventId;
232-
233-
if (!(day in days)) {
234-
days[day] = [];
235-
}
236-
237-
days[day].push(json);
238-
});
239-
240-
$(this.el).html(this.template({ 'days': days }));
241-
242-
return this;
243-
}
244-
});
245-
246151
App.Views.TweetsList = App.Views.Event.extend({
247152
initialize: function() {
248153
this.template = _.template($('#tweets-list-template').html());
@@ -312,7 +217,6 @@
312217
, 'events/:eventId/edit': 'editEvent'
313218
, 'events': 'listEvents'
314219
, 'events/:eventId': 'showEvent'
315-
, 'events/:eventId/talks/:talkId': 'showTalk'
316220
, 'current': 'current'
317221
, 'upcoming': 'upcoming'
318222
}
@@ -382,7 +286,6 @@
382286
var event = new App.Models.Event({ 'id': id })
383287
, view = new App.Views.Event({
384288
model: event
385-
, talksCollection: new App.Collections.Talks([], { 'eventId': id })
386289
, tweetsCollection: new App.Collections.EventTweets([], { 'eventId': id })
387290
})
388291
, self = this
@@ -394,28 +297,6 @@
394297
});
395298
}});
396299
}
397-
, showTalk: function(eventId, talkId) {
398-
this.showProgressBar();
399-
400-
$('li.active', this.$navigation).removeClass('active');
401-
402-
var talk = new App.Models.Talk({ 'id': talkId, 'eventId': eventId })
403-
, view = new App.Views.Talk({
404-
model: talk
405-
, tweetsCollection: new App.Collections.TalkTweets([], {
406-
'eventId': eventId
407-
, 'talkId': talkId
408-
})
409-
})
410-
, self = this
411-
;
412-
413-
talk.fetch({ success: function() {
414-
self.hideAndEmptyContainer(function(){
415-
self.displayContainer(view.render().el);
416-
});
417-
}});
418-
}
419300
, current: function() {
420301
this.showProgressBar();
421302

server.js

Lines changed: 5 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -202,9 +202,7 @@ app.get('/events.json', function(req, res){
202202

203203
var eventList = [];
204204
events.forEach(function(event, i) {
205-
event.set("numberOfTalks", event.talks.length);
206-
event.set("numberOfTweets", event.tweets.length);
207-
event.talks = [];
205+
event.set("tweetsCount", event.tweets.length);
208206
event.tweets = [];
209207

210208
eventList.push(event);
@@ -221,68 +219,13 @@ app.get('/events/:id.json', function(req, res) {
221219
console.log(err);
222220
}
223221

224-
event.set("numberOfTalks", event.talks.length);
225-
event.set("numberOfTweets", event.tweets.length);
226-
event.talks = [];
222+
event.set("tweetsCount", event.tweets.length);
227223
event.tweets = [];
228224

229225
res.end(JSON.stringify(event));
230226
});
231227
});
232228

233-
app.get('/events/:id/talks.json', function(req, res) {
234-
schema.Event.findOne({_id: req.params.id}, function(err, event) {
235-
res.contentType('json');
236-
if (err) {
237-
console.log(err);
238-
}
239-
240-
var talksList = [];
241-
event.talks.forEach(function(talk, i) {
242-
talk.set("numberOfTweets", talk.tweets.length);
243-
talk.tweets = [];
244-
245-
talksList.push(talk);
246-
});
247-
248-
249-
res.end(JSON.stringify(talksList));
250-
});
251-
});
252-
253-
app.get('/events/:id/talks/:num.json', function(req, res) {
254-
schema.Event.findOne({_id: req.params.id}, function(err, event) {
255-
res.contentType('json');
256-
if (err) {
257-
console.log(err);
258-
}
259-
260-
talk = event.talks[req.params.num];
261-
talk.set('num', req.params.num);
262-
talk.set('event', {
263-
'_id': event._id
264-
, 'name': event.name
265-
, 'hash': event.hash
266-
, 'location': event.location
267-
});
268-
269-
res.end(JSON.stringify(talk));
270-
});
271-
});
272-
273-
app.get('/events/:id/talks/:num/tweets.json', function(req, res) {
274-
schema.Event.findOne({_id: req.params.id}, function(err, event) {
275-
res.contentType('json');
276-
if (err) {
277-
console.log(err);
278-
}
279-
280-
talk = event.talks[req.params.num];
281-
282-
res.end(JSON.stringify(talk.tweets));
283-
});
284-
});
285-
286229
app.get('/events/:id/tweets.json', function(req, res) {
287230
schema.Event.findOne({_id: req.params.id}, function(err, event) {
288231
res.contentType('json');
@@ -303,9 +246,7 @@ app.get('/currentEvents.json', function(req, res){
303246

304247
var eventList = [];
305248
events.forEach(function(event, i) {
306-
event.set("numberOfTalks", event.talks.length);
307-
event.set("numberOfTweets", event.tweets.length);
308-
event.talks = [];
249+
event.set("tweetsCount", event.tweets.length);
309250
event.tweets = [];
310251

311252
eventList.push(event);
@@ -324,9 +265,7 @@ app.get('/upcomingEvents.json', function(req, res){
324265

325266
var eventList = [];
326267
events.forEach(function(event, i) {
327-
event.set("numberOfTalks", event.talks.length);
328-
event.set("numberOfTweets", event.tweets.length);
329-
event.talks = [];
268+
event.set("tweetsCount", event.tweets.length);
330269
event.tweets = [];
331270

332271
eventList.push(event);
@@ -340,4 +279,4 @@ everyauth.helpExpress(app);
340279
app.listen(process.env.PORT || 3000);
341280
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
342281

343-
//deploy
282+
//deploy

specs/SchemaSpec.js

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,6 @@ describe('event', function(){
1616
event.description = 'test event description';
1717
event.location = 'New York, NY';
1818
event.tweets.push({tweet_id: 5, tweet: 'test'});
19-
event.talks.push({
20-
name: 'test talk'
21-
, hash: '#testtalk'
22-
, tweets: [{
23-
tweet_id: 6
24-
, tweet: 'another test'
25-
}]});
26-
2719
expect(event.name).toEqual('test event');
2820
expect(event.createdBy).toEqual('jmikola');
2921
expect(event.startsAt).toEqual(startDate);
@@ -34,11 +26,5 @@ describe('event', function(){
3426
expect(event.tweets.length).toEqual(1);
3527
expect(event.tweets[0].tweet_id).toEqual(5);
3628
expect(event.tweets[0].tweet).toEqual('test');
37-
expect(event.talks.length).toEqual(1);
38-
expect(event.talks[0].hash).toEqual('#testtalk');
39-
expect(event.talks[0].name).toEqual('test talk');
40-
expect(event.talks[0].tweets.length).toEqual(1);
41-
expect(event.talks[0].tweets[0].tweet_id).toEqual(6);
42-
expect(event.talks[0].tweets[0].tweet).toEqual('another test');
4329
});
44-
});
30+
});

views/backbone/_common.ejs

Lines changed: 0 additions & 20 deletions
This file was deleted.

0 commit comments

Comments
 (0)