Edit run functionality
This commit is contained in:
@@ -3,10 +3,6 @@ lunchControllers = angular.module 'lunchControllers'
|
||||
lunchControllers.controller 'EditRunCtrl', ['$scope', 'socket', '$routeParams', '$sce',
|
||||
EditRunController = ($scope, socket, $routeParams, $sce) ->
|
||||
$scope.show = false
|
||||
$scope.progress = 0
|
||||
$scope.numOrders = 0
|
||||
$scope.progressClass = 'progress-bar-danger'
|
||||
$scope.showMenuUrl = false
|
||||
|
||||
socket.get '/run/' + $routeParams['id'],
|
||||
(response) ->
|
||||
@@ -16,36 +12,30 @@ lunchControllers.controller 'EditRunCtrl', ['$scope', 'socket', '$routeParams',
|
||||
|
||||
$scope.show = true
|
||||
$scope.run = response
|
||||
$scope.showMenuUrl = response.menuUrl
|
||||
$scope.menuUrl = $sce.trustAsResourceUrl(response.menuUrl)
|
||||
|
||||
socket.get '/invitee', run_id: response.id, (inviteeResponse) ->
|
||||
$scope.invitees = inviteeResponse
|
||||
$scope.numOrders = $scope.invitees.length
|
||||
$scope.setStatusClasses()
|
||||
$scope.setProgress()
|
||||
$scope.$apply()
|
||||
|
||||
socket.on 'message', (m) ->
|
||||
if m.verb is 'update' and m.data.run_id is $routeParams.id
|
||||
invitee = _.findWhere $scope.invitees, id: m.data.id
|
||||
_.extend invitee, m.data
|
||||
$scope.setProgress()
|
||||
$scope.setStatusClasses()
|
||||
$scope.$apply()
|
||||
$scope.addInvitee = () ->
|
||||
$scope.invitees.push {}
|
||||
|
||||
$scope.setStatusClasses = () ->
|
||||
for i in $scope.invitees
|
||||
if i.order
|
||||
i.statusClass = 'done'
|
||||
else
|
||||
i.statusClass = 'incomplete'
|
||||
$scope.removeInvitee = (index) ->
|
||||
$scope.invitees.splice index, 1
|
||||
|
||||
$scope.setProgress = () ->
|
||||
numFilledOrders = _.filter($scope.invitees, (i) -> i.order).length
|
||||
$scope.progress = (numFilledOrders / $scope.numOrders) * 100
|
||||
if $scope.progress >= 100
|
||||
$scope.progressClass = 'progress-bar-success'
|
||||
else
|
||||
$scope.progressClass = 'progress-bar-danger'
|
||||
$scope.update = (run,invitees) ->
|
||||
runData = angular.copy run
|
||||
inviteeData = angular.copy invitees
|
||||
creatorInvitee = _.find inviteeData, (i) -> return i.isCreator
|
||||
creatorInvitee.name = runData.creatorName
|
||||
creatorInvitee.email = runData.creatorEmail
|
||||
|
||||
socket.put '/run/update/' + runData.id, runData, (runResponse) ->
|
||||
inviteesCreated = 0
|
||||
for i in inviteeData
|
||||
socket.put '/invitee/update/' + i.id, i, (inviteeResponse) ->
|
||||
inviteesCreated++
|
||||
if inviteesCreated is inviteeData.length
|
||||
$location.path '/run/' + runResponse.id
|
||||
$scope.$apply()
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user