My services
app.factory('PartnerServiceRestangular', ['Restangular', function(Restangular) {
return Restangular.service('partner');
}]);
app.factory('PartnerInvoiceServiceRestangular', ['PartnerServiceRestangular', function(PartnerServiceRestangular) {
return PartnerServiceRestangular.one('partner', partnerId).service('invoice');
}]);
My Controller
app.controller('FinancialsController', [
'$scope',
'PartnerServiceRestangular',
'PartnerInvoiceServiceRestangular',
function($scope, PartnerServiceRestangular, PartnerInvoiceServiceRestangular) {
PartnerServiceRestangular.getList().then(function(partners) {
$scope.partners = partners;
});
$scope.partnerChange = function(partner) {
$scope.partner = partner;
};
var getInvoices = function(partnerId, startDate, stopDate) {
// STUCK HERE
PartnerInvoiceServiceRestangular.get({})
};
What I am looking to do is to allow PartnerInvoiceServiceRestangular to perform the following get requests:
/partner/{partnerId}/invoice/ - To return ALL invoices for a specific partnerId/partner/{partnerId}/invoice/?startDate=2014-06-01&stopDate=2014-6-30 - Return all invoices between 2 given dates/partner/{partnerId}/invoice/{invoiceId} - To return a specific invoiceI already have the ng-models setup in the view which set the $scopes of partnerId, startDate, stopDate
Something like this should work.
app.factory('PartnerInvoiceServiceRestangular', ['PartnerServiceRestangular', function(PartnerServiceRestangular) {
return {
getService: function(partnerId) {
PartnerServiceRestangular.one('partner', partnerId).service('invoice');
}
}
}]);
var getInvoices = function(partnerId, startDate, stopDate) {
PartnerInvoiceServiceRestangular.getService(partnerId)
.getList({ startDate: startDate, stopDate: stopDate }).then(function(invoices) {
$scope.partner.invoices = invoices;
}
};
However I'm not a fan of your factory service implementation. Why not just use:
$scope.partnerChange = function(partner) {
$scope.partner = partner;
partner.getList('invoice', { startDate: startDate, stopDate: stopDate }).then(function(invoices) {
$scope.partner.invoices = invoices;
});
};
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With