crunchbutton/www/assets/cockpit/js/service.staff.js
2014-11-21 19:12:17 -08:00

129 lines
3.1 KiB
JavaScript

NGApp.factory('StaffService', function($resource, $routeParams) {
var service = {};
var staff = $resource(App.service + 'staff/:id_admin', { id_admin: '@id_admin'}, {
'load' : {
method: 'GET',
params : {}
},
'locations' : {
url: App.service + 'staff/:id_admin/locations',
method: 'GET',
isArray:true
},
'query' : {
method: 'GET',
params : {}
}
});
service.list = function(params, callback) {
staff.query(params, function(data){
callback(data);
});
}
service.get = function(id_admin, callback) {
staff.load({id_admin: id_admin}, function(data) {
callback(data);
});
}
service.locations = function(id_admin, callback) {
staff.locations({id_admin: id_admin}, function(data) {
callback(data);
});
}
return service;
});
NGApp.factory( 'StaffPayInfoService', function( $resource, $routeParams, ConfigService ) {
var service = {};
// Create a private resource 'staff'
var staff = $resource( App.service + 'staff/payinfo/:id_admin/:action', { id_admin: '@id_admin', action: '@action' }, {
'load' : { 'method': 'GET', params : { action: '' } },
'save' : { 'method': 'POST', params : { action: 'save' } },
'save_bank' : { 'method': 'POST', params : { action: 'save-bank' } },
}
);
service.load = function( callback ){
staff.load( { 'id_admin': $routeParams.id }, function( data ){
callback( data );
} );
}
service.loadById = function( id_admin, callback ){
staff.load( { 'id_admin': id_admin }, function( data ){
callback( data );
} );
};
service.save = function( params, callback ){
if( !params.id_admin ){
params.id_admin = $routeParams.id;
}
staff.save( params, function( data ){
callback( data );
} );
}
service.save_bank = function( params, callback ){
if( !params.id_admin ){
params.id_admin = $routeParams.id;
}
staff.save_bank( params, function( data ){
callback( data );
} );
}
service.methodsPayment = function(){
var methods = [];
methods.push( { value: 'deposit', label: 'Deposit' } );
return methods;
}
service.typesPayment = function(){
var methods = [];
methods.push( { value: 'orders', label: 'Orders' } );
methods.push( { value: 'hours', label: 'Hours' } );
return methods;
}
service.typesUsingPex = function(){
var methods = [];
methods.push( { value: 0, label: 'No' } );
methods.push( { value: 1, label: 'Yes' } );
return methods;
}
service.bankInfoTest = function( callback ){
callback( { 'routing_number':'321174851', 'account_number':'9900000000' } );
}
service.bankAccount = function( payload, callback ){
ConfigService.processor( function( json ){
if( !json.error && json.processor ){
var marketplaceUri = json.processor.balanced;
balanced.init( marketplaceUri );
console.debug('Creating bank account: ', payload);
balanced.bankAccount.create( payload, function( response ) {
console.debug('Balanced response : ', arguments);
// Successful tokenization
if( response.status_code === 201 ) {
callback( response.bank_accounts[ 0 ] );
} else {
callback( {} );
}
} );
}
} );
}
return service;
} );