Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ require('./app/routes')(app)
#setup express helpers for login and register
mongooseAuth.helpExpress(app)

console.log "Express server listening on port %d in %s mode", app.port, app.settings.env
console.log "Express server listening on port %d in %s mode", app.port, app.settings.env
6 changes: 3 additions & 3 deletions app/controllers/competitors_controller.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class CompetitorsController extends BaseController

show: (request, response) ->
Vote.find(competitor: request.competitor.id).populate("team").populate("round").sort("round.number","ascending").exec (err, votes) ->
console.log votes
#console.log votes
response.render 'competitors/dash',
title: 'Competitor Dashboard'
competitor: request.competitor
Expand All @@ -48,7 +48,7 @@ class CompetitorsController extends BaseController
create: (request, response) ->
uid = if request.user.is_admin and request.body.theUser then request.body.theUser.id else request.user.id
User.findById(uid).exec (err, user) =>
console.log err if err
#console.log err if err
user.joinAsCompetitor request.currentEvent, (err) =>
return @error(request, response, "cannot join event.", redirect(request)) if err
request.flash 'notice', 'Joined the event.'
Expand All @@ -74,4 +74,4 @@ class CompetitorsController extends BaseController
request.flash 'notice', 'competitor Deleted'
response.redirect '/competitors'

module.exports = CompetitorsController
module.exports = CompetitorsController
18 changes: 9 additions & 9 deletions app/controllers/events_controller.coffee
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
BaseController = require './base_controller'
Event = require '../../models/event'
UploadHelpers = require '../../helpers/upload_helpers'
EventHelpers = require '../../helpers/event_helpers'
Investor = require '../../models/investor'
Competitor = require '../../models/competitor'
MailHelpers = require '../../helpers/mail_helpers'
populater = require '../../processors/populate'
EventHelpers = require '../../helpers/event_helpers'
Investor = require '../../models/investor'
Competitor = require '../../models/competitor'
MailHelpers = require '../../helpers/mail_helpers'
populater = require '../../processors/populate'

class EventsController extends BaseController

Expand Down Expand Up @@ -102,13 +102,13 @@ class EventsController extends BaseController
for recip in recipients
email = recip.user.email
if !request.session.passcodes[email]
console.log "no passcode for <#{email}>. skipped."
#console.log "no passcode for <#{email}>. skipped."
continue
fullname = if recip.user.fname and recip.user.fname then "\"#{recip.user.fname} #{recip.user.lname}\"" else ""
password = request.session.passcodes[email]
body = msg.replace(":password:", password).replace(":fname:", recip.user.fname).replace(":lname:", recip.user.lname).replace(":email:", email)
MailHelpers.send [email, fullname], [fromEmail, from], "your TILT login", body, [fromEmail]
console.log "sending to #{fullname} <#{email}>"
#console.log "sending to #{fullname} <#{email}>"
request.flash 'notice', "Emailed #{recipients.length} Recipients"
response.redirect '/events'

Expand All @@ -117,9 +117,9 @@ class EventsController extends BaseController
if typeof results is 'string'
request.flash 'error', results
else
console.log results.passcodes
#console.log results.passcodes
request.session.passcodes = results.passcodes
request.flash 'notice', "Populated"
response.redirect '/events'

module.exports = EventsController
module.exports = EventsController
4 changes: 2 additions & 2 deletions app/controllers/votes_controller.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ class VotesController extends BaseController
throw err if err
votes.push v
processVote i+1, done
console.log "here", i
#console.log "here", i

processVote 0, () ->
if request.params.format is 'json'
Expand All @@ -62,4 +62,4 @@ class VotesController extends BaseController
response.redirect '/competitor/dash'


module.exports = VotesController
module.exports = VotesController
62 changes: 31 additions & 31 deletions app/routes.coffee
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
Allocation = require '../processors/allocation'
AuthHelpers = require '../helpers/auth_helpers'
Investment = require '../models/investment'
EventsController = require '../app/controllers/events_controller'
InvestorsController = require '../app/controllers/investors_controller'
TeamsController = require '../app/controllers/teams_controller'
RoundsController = require '../app/controllers/rounds_controller'
ResultsController = require '../app/controllers/results_controller'
Allocation = require '../processors/allocation'
AuthHelpers = require '../helpers/auth_helpers'
Investment = require '../models/investment'
EventsController = require '../app/controllers/events_controller'
InvestorsController = require '../app/controllers/investors_controller'
TeamsController = require '../app/controllers/teams_controller'
RoundsController = require '../app/controllers/rounds_controller'
ResultsController = require '../app/controllers/results_controller'
InvestmentsController = require '../app/controllers/investments_controller'
CompetitorsController = require '../app/controllers/competitors_controller'
HomeController = require '../app/controllers/home_controller'
VotesController = require '../app/controllers/votes_controller'
Process = require '../processors/investments'
Result = require '../models/result'
Round = require '../models/round'
RoundHelpers = require '../helpers/round_helpers'
EventHelpers = require '../helpers/event_helpers'
SystemHelpers = require '../helpers/system_helpers'
UploadHelpers = require '../helpers/upload_helpers'
CompetitorHelpers = require '../helpers/competitor_helpers'
InvestorHelpers = require '../helpers/investor_helpers'
TeamHelpers = require '../helpers/team_helpers'
Transaction = require '../models/transaction'
UsersController = require '../app/controllers/users_controller'
UserHelpers = require '../helpers/user_helpers'
HomeController = require '../app/controllers/home_controller'
VotesController = require '../app/controllers/votes_controller'
Process = require '../processors/investments'
Result = require '../models/result'
Round = require '../models/round'
RoundHelpers = require '../helpers/round_helpers'
EventHelpers = require '../helpers/event_helpers'
SystemHelpers = require '../helpers/system_helpers'
UploadHelpers = require '../helpers/upload_helpers'
CompetitorHelpers = require '../helpers/competitor_helpers'
InvestorHelpers = require '../helpers/investor_helpers'
TeamHelpers = require '../helpers/team_helpers'
Transaction = require '../models/transaction'
UsersController = require '../app/controllers/users_controller'
UserHelpers = require '../helpers/user_helpers'


module.exports = (app) ->
Expand Down Expand Up @@ -75,7 +75,7 @@ module.exports = (app) ->
path: '/events/:event_id'
method: 'put'
action: 'update'
middleware: [AuthHelpers.restricted, UploadHelpers.uniquifyObjectNames("events"), UploadHelpers.uploader]
middleware: [ AuthHelpers.restricted, UploadHelpers.uniquifyObjectNames("events"), UploadHelpers.uploader ]
,
path: '/event/:event_id'
method: 'del'
Expand All @@ -92,13 +92,13 @@ module.exports = (app) ->
path: '/event/:event_id/mail'
middleware: AuthHelpers.restricted
method: 'post'
]
]


mapToController UsersController,
[
path: '/user/profile'
middleware: [AuthHelpers.loggedIn, RoundHelpers.loadCurrentRound]
middleware: [ AuthHelpers.loggedIn, RoundHelpers.loadCurrentRound ]
,
path: '/user/:id/profile'
,
Expand Down Expand Up @@ -273,21 +273,21 @@ module.exports = (app) ->
mapToController InvestmentsController,
[
path: '/investment/new'
middleware: [AuthHelpers.loggedIn, RoundHelpers.loadCurrentRound, InvestorHelpers.isInvestor]
middleware: [AuthHelpers.loggedIn, RoundHelpers.loadCurrentRound, InvestorHelpers.isInvestor]
,
path: '/investments.:format?'
middleware: [AuthHelpers.loggedIn, RoundHelpers.loadCurrentRound]
middleware: [AuthHelpers.loggedIn, RoundHelpers.loadCurrentRound]
method: 'post'
action: 'create'
]

mapToController VotesController,
[
path: '/vote/new'
middleware: [AuthHelpers.loggedIn, RoundHelpers.loadCurrentRound, CompetitorHelpers.isCompetitor, CompetitorHelpers.loadCompetitor]
middleware: [AuthHelpers.loggedIn, RoundHelpers.loadCurrentRound, CompetitorHelpers.isCompetitor, CompetitorHelpers.loadCompetitor]
,
path: '/votes.:format?'
middleware: [AuthHelpers.loggedIn, RoundHelpers.loadCurrentRound, CompetitorHelpers.isCompetitor, CompetitorHelpers.loadCompetitor]
middleware: [AuthHelpers.loggedIn, RoundHelpers.loadCurrentRound, CompetitorHelpers.isCompetitor, CompetitorHelpers.loadCompetitor]
method: 'post'
action: 'create'
]
Expand All @@ -299,4 +299,4 @@ module.exports = (app) ->
,
path: '/login.json'
action: 'login'
]
]
2 changes: 1 addition & 1 deletion helpers/mail_helpers.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ exports.send = (to, from, subject, body, bcc = []) ->
text: body
bcc: bcc
, (success, msg) ->
console.log msg if !success
#console.log msg if !success
4 changes: 2 additions & 2 deletions helpers/upload_helpers.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ exports.resizeImages = (width = 100) ->
width: width
, (err, stdout, stderr) ->
if err
console.log err
#console.log err
return next err
file.path += suffix
fs.stat file.path, (err, stat) ->
Expand All @@ -43,4 +43,4 @@ exports.uploader = connectStreamS3

exports.getImageURIs = (req) ->
base = "https://s3.amazonaws.com/tiltnyc/"
(base + value.s3ObjectName for key, value of req.files when value.size)
(base + value.s3ObjectName for key, value of req.files when value.size)
30 changes: 30 additions & 0 deletions lib/sluggable.coffee
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
slug = require 'slug'

module.exports =
sluggable: ( schema, field ) ->

schema.add({ _slug: { type: String } })
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can use: schema.add( _slug: { type: String } );


schema.pre 'save', (next) ->
this._slug = slug this[field].toLowerCase()
next()

schema.static 'findBySlug', (slug, next) ->
this.findOne({ _slug: slug }, next)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ibid this.findOne( _slug: slug, next )


schema

findable: ( model ) ->
model.__findById = model.findById

model.findById = (idOrSlug, next) ->
if typeof idOrSlug == 'string'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typeof idOrSlug is 'string'

is becomes === which is the standard comparison op in JS

model.findBySlug idOrSlug, (error, doc) ->
if doc
next(error, doc)
else
model.__findById idOrSlug, next
else
model.__findById idOrSlug, next

model
11 changes: 11 additions & 0 deletions lib/timestamps.coffee
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
module.exports = ( schema ) ->

schema.add
created_at:
type: Date
default: Date.now
updated_at:
type: Date
default: Date.now

schema
31 changes: 12 additions & 19 deletions models/competitor.coffee
Original file line number Diff line number Diff line change
@@ -1,37 +1,30 @@
{mongoose, Schema, ObjectId} = require("./db_connect")
addTimestamps = require '../lib/timestamps'
Team = require './team'

mongooseAuth = require("mongoose-auth")
{ mongoose, Schema, ObjectId } = require('./db_connect')

Competitor = new Schema(
Competitor = new Schema
user:
type: ObjectId
ref: "User"
ref: 'User'
required: true

event:
type: ObjectId
ref: "Event"
type: ObjectId
ref: 'Event'
required: true

team:
type: ObjectId
ref: "Team"

created_at:
type: Date
default: Date.now
ref: 'Team'

updated_at:
type: Date
default: Date.now
)
Competitor = addTimestamps(Competitor)

Competitor.methods.addToTeam = (team) ->
@oldTeam = @team
@team = team

Team = require("./team")
Competitor.pre "save", (next) ->
Competitor.pre 'save', (next) ->
leaveTeam = (competitor, callback) ->
return callback() unless competitor.oldTeam
Team.findById competitor.oldTeam, (err, team) ->
Expand All @@ -55,4 +48,4 @@ Competitor.pre "save", (next) ->
if err then next err
else joinTeam competitor, (err) -> next(err ? null)

exports = module.exports = mongoose.model("Competitor", Competitor)
exports = module.exports = mongoose.model('Competitor', Competitor)
15 changes: 8 additions & 7 deletions models/db_connect.coffee
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
fs = require("fs")
exports = mongoose = require("mongoose")
environment = process.env.NODE_ENV or "development"
if environment is "production"
fs = require('fs')
exports = mongoose = require('mongoose')
environment = process.env.NODE_ENV or 'development'
if environment is 'production'
mongo_uri = process.env.MONGOLAB_URI
else
mongo_uri = JSON.parse(fs.readFileSync(process.cwd() + "/config.json", encoding = "utf8"))[environment].mongo_uri
mongo_uri = JSON.parse(fs.readFileSync(process.cwd() + '/config.json', encoding = 'utf8'))[environment].mongo_uri
mongoose.connect mongo_uri
module.exports =

module.exports =
mongoose: mongoose
Schema: mongoose.Schema
ObjectId: mongoose.Schema.ObjectId
ObjectId: mongoose.Schema.ObjectId
22 changes: 10 additions & 12 deletions models/event.coffee
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
{mongoose, Schema, ObjectId} = require("./db_connect")
Sluggize = require '../lib/sluggable'
addTimestamps = require '../lib/timestamps'

{ mongoose, Schema, ObjectId } = require './db_connect'

Event = new Schema
name:
name:
type: String
required: true

Expand All @@ -12,17 +15,12 @@ Event = new Schema
type: String

theme:
type: String

picture:
type: String

created_at:
type: Date
default: Date.now
picture:
type: String

updated_at:
type: Date
default: Date.now
Event = addTimestamps(Event)
Event = Sluggize.sluggable(Event, 'name')

exports = module.exports = mongoose.model("Event", Event)
module.exports = Sluggize.findable(mongoose.model('Event', Event))
Loading