app.controller('SubscriptionsCtrl', function($scope, $rootScope, $http, $window, $location, $route) { $scope.mailchimpLists = []; $scope.newsletterApplicants = { name: 'Nieuwsbrief aanmeldingen', controller: 'newsletter_applicant', //Panel class panelClass: 'panel-trainingskampen', showFilters: false, pageLimit: 10, fields: [ 'name', 'email', 'permission_granted', ], fieldDetails: { 'name': { 'label': 'Naam', }, 'email': { 'label': 'Email', }, 'permission_granted': { 'label': 'Toestemming', 'type': 'boolean', 'booleanOff': 0, 'booleanOn': 1, } }, buttons: { 'C': { 'id': 'c', 'name': 'Persoon aanmelden', 'confirmName': 'Insert', 'confirmClass': 'success', 'cancelName': 'Annuleren', 'confirmName': 'Toevoegen', 'icon': 'fa-plus-square', 'header': true, 'action': 'create', }, 'R': { 'id': 'r', 'inline': false, }, 'U': { 'id': 'u', 'name': 'Wijzig' , 'label': 'Wijzig', 'cancelName': 'Annuleren', 'confirmName': 'Wijzig', 'confirmClass': 'success', 'inline':true, 'icon':'fa-pencil', 'action': 'update', }, 'D': { 'id': 'd', 'inline': false, } } } $scope.newsLetterSettings = { name: 'Nieuwsbrief instellingen', controller: 'api_connection', //Panel class panelClass: 'panel-trainingskampen', showFilters: false, pageLimit: 10, fields: [ 'api_key', 'list_id', ], fieldDetails: { 'api_key': { 'label': 'API sleutel', }, 'list_id': { 'label': 'Lijst', }, }, buttons: { 'C': { 'id': 'c', 'header': false, }, 'R': { 'id': 'r', 'inline': false, }, 'U': { 'id': 'u', 'name': 'Wijzig' , 'label': 'Wijzig', 'cancelName': 'Annuleren', 'confirmName': 'Wijzig', 'confirmClass': 'success', 'inline':true, 'icon':'fa-pencil', 'action': 'editApiConnection', 'parentScope': true, }, 'D': { 'id': 'd', 'inline': false, } } } $scope.editApiConnection = function(btn, row, blnSubmit) { //set current api connection $scope.currentApiConnection = row; $scope.getLists(); $("#editApiConnectionModal").modal('toggle'); } //get all lists from mailchimp $scope.getLists = function () { let req = { method: 'GET', url: '/newsletter_applicant/getAllLists', } $http(req).then(function(response) { if (response.status && response.data.status) { $scope.mailchimpLists = response.data.data; } }); } $scope.saveApiConnection = function() { let req = { method: 'POST', url: '/api_connection/update/' + $scope.currentApiConnection.id, data: {api_key: $scope.currentApiConnection.api_key, list_id: $scope.currentApiConnection.list_id}, } $http(req).then(function(response) { if (response.status && response.data.status) { $("#editApiConnectionModal").modal('toggle'); } }); } $scope.modalClose = function(tableName) { switch (tableName) { case 'Nieuwsbrief aanmeldingen': this.newsletterApplicants.call('initiate'); break; } } //translate table data groups $scope.tableReady = function (tableName) { switch (tableName) { case 'Nieuwsbrief aanmeldingen': case 'Nieuwsbrief instellingen': $scope.newsletterApplicants.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...', }; break; } } });