rallly/public/js/controllers/editevent.controller.js
2015-01-14 00:21:39 +01:00

51 lines
1.7 KiB
JavaScript

angular.module('rallly')
.controller('EditEventCtrl', function($scope, $http, $state, $timeout, Event, ConfirmModal){
var id = $state.params.id
$scope.event = Event.get({id:id}, function(data){
var dates = [];
for (var i = 0; i < data.dates.length; i++){
dates.push(new Date(data.dates[i]));
}
$("[data-datepicker]").datepicker('setDates',dates);
$scope.master = angular.copy($scope.event);
}, function(e){
$state.go('notfound');
});
$scope.didChange = function(){
return JSON.stringify($scope.master) != JSON.stringify($scope.event);
}
$scope.didChangeDates = function(){
return JSON.stringify($scope.master.dates) != JSON.stringify($scope.event.dates);
}
$scope.submit = function(){
if ($scope.didChange()){
if ($scope.didChangeDates() ){
var modal = new ConfirmModal({
title : 'Hold up!',
message : 'Changing the dates will reset all entries by the participants. Are you sure you want to do that?',
confirmText : 'Yes, I\'m sure',
isDestructive : true,
confirm : function(){
update();
}
});
modal.show();
} else {
update();
}
}
}
var update = function(){
Event.update({
id : id
}, $scope.event,
function(){
$timeout.cancel($scope.didSave);
$scope.master = angular.copy($scope.event);
$scope.didSave = $timeout(function(){
$scope.didSave = false;
}, 2000);
});
}
});