angular.module('odoo')
.controller('OpportunitiesController', function (
$scope,
$ionicActionSheet,
crmStagesDataFactory
) {
$scope.stages = [];
$scope.opportunities = [
{
name: 'Op. 1',
stage: 'Nuevo'
},
{
name: 'Op. 2',
stage: 'Perdido'
},
{
name: 'Op. 3',
stage: 'Propuesta'
},
{
name: 'Op. 1',
stage: 'Nuevo'
},
{
name: 'Op. 1',
stage: 'Nuevo'
},
{
name: 'Op. 1',
stage: 'Nuevo'
}
];
$scope.title = '';
$scope.loading = false;
$scope.selected = -1;
$scope.$on("$ionicSlides.sliderInitialized", function (event, data){
$scope.slider = data.slider;
});
$scope.$on("$ionicSlides.slideChangeEnd", function (event, data) {
$scope.stageChanged(data.slider.activeIndex);
});
$scope.$on("$ionicView.enter", function () {
$scope.getStages();
});
$scope.getStages = function () {
crmStagesDataFactory.sync(function (stages) {
$scope.stages = stages;
$scope.stageChanged(0);
}, function (syncErr) {
console.log(syncErr);
});
}
/**
* Change the state
*/
$scope.changeStage = function (mode) {
$scope.loading = true;
if (mode) {
$scope.slider.slideNext();
} else {
$scope.slider.slidePrev();
}
$scope.loading = false;
}
/**
* Change stage name on title
*/
$scope.stageChanged = function (index) {
if (!$scope.stages.length) {
return;
}
$scope.title = $scope.stages[index].name;
if(!$scope.$$phase) {
$scope.$apply();
}
}
/**
* Open the actionsheet action options
*/
$scope.openOptions = function (index) {
$scope.selected = index;
$ionicActionSheet.show({
titleText: 'Acciones',
buttons: [
{
text: ' Abrir'
},
{
text: ' Mover a'
}
],
destructiveText: ' Eliminar',
cancel: function() {
$scope.customer = {};
$scope.selected = -1;
},
buttonClicked: function(index) {
switch (index) {
case 0:
$scope.show();
break;
case 1:
$scope.addContact();
break;
default:
$scope.show();
}
return true;
},
destructiveButtonClicked: function() {
$scope.delete();
return true;
}
});
}
});