
angular.module('productsMainModule')

.controller('productViewModalController', [
    '$scope', '$uibModalInstance', 'args', '$http', '$q', 
    function ($scope, $uibModalInstance, args, $http, $q) {
    
    $scope.data = {
        jde_item_no: args.jde_item_no,
        product: undefined,
    };

    $scope.state = {
        isBusy: false,
    };

    $scope.close = function () {
        $uibModalInstance.close(true);
    };

    getProduct().then(function (product) {
        $scope.data.product = product;
    });

    function getProduct() {
        var q = $q.defer();

        $scope.state.isBusy = true;

        $http.post('/baskets/product/' + $scope.data.jde_item_no + '?_=' + Date.now()).then(function(res) {
            $scope.state.isBusy = false;
            q.resolve(res.data);
        }, function(err) {
            $scope.state.isBusy = false;
            q.reject(err);
        });

        return q.promise;
    }

}]);