console.log('hello console for main.js'); var stuff = ['initialstuff']; angular .module('caisse', []) .controller('CaisseCtrl', ['$scope', '$http', function ($scope, $http, stuff) { $scope.productsFromDB = []; // loaded products $scope.categories = []; // product categories $scope.sellingComment = ""; // comment about the client or the current selling $scope.initLoadDone = false; // becames true after first init of product loading $scope.recentSellings = []; $scope.lesParams = {}; $scope.paidAmount = 0; $scope.pausedSelling = []; $scope.activeItemsSold = []; // list of products ID to sell $scope.activeSelling = []; // list of products to sell $scope.activeFestival = { // an event where selling take place id : null, name : "le festival", dateCreation: new Date(), commentaire : "" }; /** * get the sum of products prices * @param list * @returns {number} */ $scope.sumOfList = function (list) { let counter = 0; for (let i = 0; i < list.length; i++) { counter += list[i].price; } return counter; }; /** * sum of current selling list prices * @returns {number} * @constructor */ $scope.CurrentSellingTotal = function () { return $scope.sumOfList($scope.activeSelling); }; $scope.regenActiveSellingIds = function () { $scope.activeItemsSold = []; for (let obj in $scope.activeSelling) { $scope.activeItemsSold.push(obj.id); } }; $scope.stuff = stuff; $scope.setActiveSelling = function (selling) { $scope.activeSelling = selling; }; $scope.pauseSelling = function (selling) { $scope.pausedSelling.push(selling); }; $scope.addProduct = function (product) { $scope.activeSelling.push(product); $scope.activeItemsSold.push(product.id); }; $scope.pauseSelling = function () { $scope.pausedSelling.push(angular.copy($scope.activeSelling)); $scope.activeSelling = []; }; $scope.setBackPausedSelling = function (sellingList, index) { $scope.activeSelling = angular.copy(sellingList); $scope.pausedSelling.splice(index, 1); }; $scope.clearCurrentSelling = function () { $scope.paidAmount = 0; $scope.sellingComment = ""; $scope.activeSelling = []; }; // http related calls $scope.fetchProductsFromDB = function () { console.log('fetch products...'); $http.get('get-my-products').then((rep) => { console.log('ok', rep); $scope.categories = rep.data.categories; $scope.productsFromDB = rep.data.categories; $scope.recentSellings = rep.data.history; // festoche $scope.activeFestival.id = rep.data.lastFestival.id; $scope.activeFestival.name = rep.data.lastFestival.name; $scope.activeFestival.dateCreation = rep.data.lastFestival.dateCreation; $scope.activeFestival.commentaire = rep.data.lastFestival.commentaire; //done $scope.initLoadDone = true; }, (err) => { console.log(err); $scope.initLoadDone = true; }); }; $scope.sendForm = function () { let lesParams = { paidByClient : $scope.paidAmount, sellingComment: $scope.sellingComment, activeSelling : $scope.activeSelling, activeFestival: $scope.activeFestival }; $scope.lesParams = lesParams; $http({ method : 'POST', url : 'add-selling', headers: { 'Content-Type': 'application/json' }, data : lesParams // pass in data as strings }).then(function (rep) { $scope.clearCurrentSelling(); console.log(rep); if (!rep.success) { // if not successful, bind errors to error variables $scope.errors = rep.errors; } else { // if successful, bind success message to message $scope.successMessage = rep.data.message; // changer le type de bout de phrase demandé $scope.formData["tykayn_portfoliobundle_cadexqphrasepart[type]"]["$viewValue"] = 'nouveauType'; } }, function (rep) { console.log('nope! ', rep.data); }) ; }; $scope.init = (function () { $scope.fetchProductsFromDB(); })(); }]);