app.controller('RequestsCtrl', function($scope, $http) { $scope.requests = { name: 'Aanvragen', controller: 'request', // Panel class panelClass: 'panel-trainingskampen', showFilters: true, pageLimit: 20, fields: [ 'id', 'user_id', 'name', 'club_name', 'sport', 'team', 'mobile_number', 'email', 'date_of_camp', 'location', 'budget', 'amount_of_persons', 'request_status_id', 'note', 'created_at', ], subQueries: { 'user': { 'lfield': 'user_id', 'ffield': 'id', 'controller': 'user_extended', 'function': 'getTKUsers', }, 'request_status': { 'lfield': 'request_status_id', 'ffield': 'id', 'controller': 'request_status', }, }, style:{ row:{ 'danger':{ 'request_status_id': '!=Offerte verstuurd', }, 'warning':{ 'request_status_id': '==In behandeling', }, }, }, fieldDetails: { id: { hideList: true, hideEdit: true, }, user_id: { label: 'Gebruiker', default: $scope.user.id, changeTo: ['user.name'], }, name: { label: 'Naam aanvrager', required: true, }, club_name: { label: 'Clubnaam/Klasse', }, sport: { label: 'Sport', }, team: { label: 'Team', }, mobile_number: { label: 'Mobiele nummer', }, email: { label: 'E-mailadres', type: 'email', required: true, }, date_of_camp: { label: 'Datum trainingskamp', }, location: { label: 'Locatie', }, budget: { label: 'Budget', }, amount_of_persons: { label: 'Aantal personen', }, request_status_id: { label: 'Status', changeTo: ['request_status.name'], }, note: { label: 'Notitie', type: 'textarea', hideList: true, }, created_at: { label: 'Aangemaakt op', type: 'date', hideEdit: true, }, }, buttons: { 'C':{ 'id': 'c', 'name': 'Aanvraag toevoegen', 'label': 'Aanvraag toevoegen', 'cancelName': 'Annuleren', 'confirmName': 'Voeg toe', 'confirmClass': 'create', 'header': true, 'inline': false, 'icon': 'fa-plus-square', 'action': 'create', }, 'R':{ 'id': 'r', 'name': 'Bekijk aanvraag', 'label': 'Bekijk', 'cancelName': 'Annuleren', 'confirmName': 'Bekijk', 'confirmClass': 'info', 'inline': true, 'icon': 'fa-arrow-right', 'action': 'read', }, 'U': { 'id': 'u', 'name': 'Bewerk aanvraag', 'label': 'Bewerk', 'cancelName': 'Annuleren', 'confirmName': 'Bewerk', 'inline': true, 'icon': 'fa-pencil', 'action': 'update', }, 'D':{ 'id': 'd', 'name': 'Verwijder aanvraag', 'label': 'Verwijder', 'confirmName': 'Delete', 'confirmClass': 'warning', 'inline': ($scope['user']['rights']['customer']['delete'] !== undefined && $scope['user']['rights']['customer']['delete']) ? true : false, 'icon':'fa-trash', 'action': 'delete', }, 'UQS':{ 'id': 'uqs', 'name': 'Update offerte verstuurd', 'label': 'Offerte verstuurd', 'confirmName': 'update quotation send', 'confirmClass': 'warning', 'inline': true, 'icon':'fa-check', 'action': 'quotationSend', 'parentScope': true, 'whereField': 'request_status_id', 'where': { '!=': 3 } }, } } //translate table $scope.tableReady = function (tableName) { if (tableName === 'Aanvragen') { $scope.requests.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': 'Niet verzonden', 'true': 'Verzonden', '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...', }; } } $scope.quotationSend = function(btn, row, blnSubmit) { var req = { method: 'POST', url: '/request/update/' + row.id, data: {request_status_id: 3}, } // Make backend request to create scenario $http(req).then(function(response) { if (response.status && response.data.status) { swal('Gelukt', 'De aanvraag is aangepast', 'success'); $scope.requests.call('initiate'); } else { swal('Fout', 'Het aanpassen van de aanvraag is mislukt', 'error'); } }).catch(function(err) { swal('Fout', 'Er is een onbekende fout opgetreden', 'error'); }); } });