Skip to content

Instantly share code, notes, and snippets.

@TechNinjaWeb
Created March 30, 2015 01:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TechNinjaWeb/134bc2227427ad0a2cbc to your computer and use it in GitHub Desktop.
Save TechNinjaWeb/134bc2227427ad0a2cbc to your computer and use it in GitHub Desktop.
Angular Update Problem
app.controllers
.controller('SupportTicketDetailsCtrl', ['TicketService', '$scope', '$stateParams', '$timeout', '$rootScope', function(Tickets, $scope, $stateParams, $timeout, $rootScope) {
$scope.stateParamsObjectId = $stateParams.objectId;
$scope.message = "Product Detail Controller";
$scope.deleteReply = function(index) {
console.log("Current Ticket", index);
var innerQuery = Tickets;
innerQuery.get({objectId: $(objectId).text()}, function(res) {
console.log("Reply Get Response", res)
res.ticketBody.splice(index, 1);
res.$update()
$timeout(function(){
$rootScope.reloadWindow()
},200);
})
}
console.log("Clicked!");
var query = Tickets;
query.get({
objectId: $scope.stateParamsObjectId,
postedBy: Parse.User.current().get('username')
}, function(res) {
window.console.log(res, "Got Ticket Details");
$scope.data = res;
});
$scope.replyToTicket = function(body) {
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1; //January is 0!
var yyyy = today.getFullYear();
var reply = {
"createdAt": today,
"replyFrom": Parse.User.current().get('username'),
"ticketBody": body
}
console.log("Ticket To Send as Reply", reply, "ObjectID", $(objectId).text());
var innerQuery = Tickets;
innerQuery.get({objectId: $(objectId).text()}, function(res) {
console.log("Reply Get Response", res)
res.ticketBody.push(reply);
console.log("Updated Res", res)
res.$update()
$timeout(function(){
$rootScope.reloadWindow()
},200);
})
}
console.log("Stateparams.objectId", $scope.stateParamsObjectId)
}])
app.services
.factory('TicketService', ['$http', '$q', '$resource', '$templateCache', function($http, $q, $resource, $templateCache) {
// 'use strict';
var deferred = $q.defer();
$http.defaults.transformRequest.push(function(data, headersGetter) {
headersGetter()['X-Parse-Application-Id'] = 'XXXXXXXXXX';
headersGetter()['X-Parse-REST-API-Key'] = 'XXXXXXXXX';
headersGetter()['Accept'] = 'application/json';
headersGetter()['Content-Type'] = 'application/json';
return data;
});
return $resource('https://api.parse.com/1/classes/SupportTickets/:objectId/:userName/:reply:format', {
objectId: '@objectId',
userName: '@userName',
reply: '@reply'
}, {
update: {
method: 'PUT'
},
getAllTickets: {
method: 'GET',
cache: true
},
post: {
method: 'POST'
},
find: {
method: 'GET',
isArray: false
},
nab: {
method: 'GET',
isArray: false
},
reply: {
method: 'PUT'
}
});
}])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment