app.controller('FlightCtrl', function($scope, $http, $routeParams, $timeout) { function getFlight() { var req = { method: 'GET', url: '/flight/get/' + $routeParams.id, } $http(req).then(function(response) { if (response.status && response.data.status) { $scope.flight = response.data.data; if ($scope.flight.allotment) { $scope.flight.allotment = parseInt($scope.flight.allotment); } } }); } getFlight(); $scope.setAllotment = function() { var req = { method: 'POST', url: '/flight/update/' + $routeParams.id, data: { allotment: $scope.flight.allotment, } } $http(req).then(function(response) { if (response.status && response.data.status) { $scope.flight = response.data.data; if ($scope.flight.allotment) { $scope.isAllotment = "Allotment is aangepast"; $timeout(function(){ $scope.isAllotment = false; }, 3000); $scope.flight.allotment = parseInt($scope.flight.allotment); } } }); } $scope.sendToTransavia = function() { delete $scope.isError; delete $scope.isSuccessfull; $scope.errorMessage = 'Fout: Kon passagiers niet verzenden naar Transavia'; $scope.isSending = true; var req = { method: 'GET', url: '/flight/send/' + $routeParams.id, } $http(req).then(function(response) { if (response.status && response.data.status) { $scope.isSuccessfull = true; getFlight(); } else { $scope.isError = true; if (response.data && response.data.message) { switch(response.data.message) { case 'messages.flights.empty_passenger': $scope.errorMessage = 'Fout: Er staan één of meerdere lege rijen tussen de passagiers'; break; case 'messages.flights.generate': $scope.errorMessage = 'Fout: Kon de te verzenden data niet succesvol genereren'; break; case 'messages.flights.allotment': $scope.errorMessage = 'Fout: De aantal passagiers is groter dan het allotment'; break; } } } delete $scope.isSending; }, function(error) { $scope.isError = true; delete $scope.isSending; }); } $scope.afterChange = function(tableName, row, type) { getFlight(); }; $scope.flightPassengerOverview = { name: 'Passagiers', controller: 'flight_passenger', function: 'getByFlightId/' + $routeParams.id, //Panel class panelClass: 'panel-trainingskampen', pageLimit: 10, showRowCount: true, fields: [ 'flight_id', 'seat_type_id', 'firstname', 'lastname', 'gender', 'birthdate', 'nationality', 'reservation_nr', 'reservation_nr_seq', 'ssr_baggage', 'ssr_extra_id', 'filename', ], //pair the organizations table autoChangeTo: ['seat_type_id', 'ssr_extra_id', 'flight_id'], //get the name of organization fieldDetails: { 'flight_id': { 'label': 'Vlucht', 'hideList': true, 'default': $routeParams.id, 'changeTo': ['flight.id'], }, 'seat_type_id': { 'label': 'Type', }, 'firstname': { 'label': 'Voornaam', }, 'lastname': { 'label': 'Achternaam', }, 'gender': { 'label': 'Geslacht', }, 'birthdate': { 'label': 'Geboortedatum', }, 'nationality': { 'label': 'Nationaliteit', }, 'reservation_nr': { 'label': 'Vluchtkenmerk', }, 'reservation_nr_seq': { 'label': 'Seq', }, 'ssr_baggage': { 'label': 'Bagage', }, 'ssr_extra_id': { 'label': 'SSR Extra', }, 'filename': { 'label': 'Bestandsnaam', 'hideEdit': true, }, }, buttons:{ 'C':{ 'id': 'c', 'name': 'Voeg passagier toe', 'label': 'Voeg passagier toe', 'confirmName': 'Voeg toe', 'cancelName': 'Annuleer', 'confirmClass': 'success', 'icon': 'fa-plus-square', 'header': true, 'action': 'create', }, 'R':{ 'id': 'r', 'name': 'Bekijk passagier', 'label': 'Bekijk', 'confirmName': 'Bekijk', 'cancelName': 'Annuleer', 'confirmClass': 'success', 'icon': 'fa-search', 'header': false, 'inline': true, 'action': 'read', }, 'U':{ 'id': 'u', 'name': 'Wijzig passagier', 'label': 'Wijzig', 'confirmName': 'Wijzig', 'cancelName': 'Annuleer', 'confirmClass': 'success', 'icon': 'fa-pencil', 'header': false, 'inline': true, 'action': 'update', }, 'D':{ 'id': 'd', 'name': 'Verwijder passagier', 'label': 'Verwijder', 'confirmName': 'Verwijder', 'cancelName': 'Annuleer', 'confirmClass': 'success', 'icon': 'fa-trash', 'header': false, 'inline': true, 'action': 'delete', }, }, } //translate table $scope.tableReady = function (tableName) { if (tableName === 'Passagiers') { $scope.flightPassengerOverview.labels = { 'of': 'van', 'rows': 'rijen', 'lastUpdated': 'Laatste wijziging', 'showNotSelectedRows': 'Toon niet geselecteerde rijen', 'showSelectedRows': 'Toon geselecteerde rijen', 'selectAllRows': 'Selecteer alle rijen', 'deSelectAllRows': 'De-selecteer alle rijen', 'selectFilteredRows': 'Selecteer gefilterde rijen', 'deSelectFilteredRows': 'De-selecteer gefilterde rijen', 'false': 'Mislukt', 'true': 'Gelukt', 'statistics': 'Statistieken', 'deleteAllRowsMessage': 'Let op! Je staat op het punt alle geselecteerde rijen te verwijderen', 'ready' : 'Klaar', 'processSubFields' : 'Verwerk subvelden', 'alreadyLoaded' : 'al ingeladen in data.', 'errorInFetching' : 'Error in ophalen', 'dataAvailable' : 'Data al beschikbaar', 'loading' : 'Laden...', }; } } });