Source: components/admin/controllers/acervos.controller.js

/**
 * @ngdoc controllers
 * @name Acervo.Controller
 * @module s4c.components.admin.controllers.Acervo
 *
 * @description
 * `AcervoCtrl` Controller da tela de Acervo do módulo de administração
 * 
 * 
 */
(function () {
    'use strict';

    function AcervoCtrl($scope, $stateParams, $mdDialog, $state, Acervo, Grupo, AcervoTipo, $rootScope) {

        $scope.res = $rootScope.res;

        $scope.color = {
            red: 0
        };

        var id = parseInt($stateParams.id, 10);

        AcervoTipo.obter()
            .then(function (acervoTipos) {
                console.log(acervoTipos);
                $scope.acervoTipos = acervoTipos;
            });

        Grupo.query()
            .$promise
            .then(function (grupos) {
                $scope.grupos = grupos;
            });

        Acervo.get({
            id: id
        })
            .$promise
            .then(function (acervo) {
                $scope.acervo = acervo;
            });

        /**
         * @method salvarAcervo
         */
        function salvarAcervo() {
            console.log('Salvando acervo: ', $scope.acervo);
            var confirm = $mdDialog.confirm()
                .title($scope.res('PERGUNTA_SALVAR_ACERVO'))
                .content($scope.res('MENSAGEM_MUDANCAS_IRREVERSIVEIS'))
                .ok($scope.res('COMUM_SIM'))
                .cancel($scope.res('COMUM_CANCELAR'));
            $mdDialog.show(confirm)
                .then(function () {
                    $scope.acervo
                        .$save()
                        .then(function () {
                            console.log('ok');
                        });
                }, function () {
                    console.log('cancel');
                });
        }

        /**
         * @method excluirAcervo
         */
        function excluirAcervo() {
            var confirm = $mdDialog.confirm()
                .title($scope.res('ACERVO_MENSAGEM_CONFIRMACAODELECAO'))
                .content($scope.res('COMUM_MENSAGEM_ACAOIRREVERSIVEL'))
                .ok($scope.res('COMUM_SIM'))
                .cancel($scope.res('COMUM_CANCELAR'));

            $mdDialog.show(confirm)
                .then(function () {
                    $scope.acervo
                        .$delete()
                        .then(function () {
                            $state.go('admin.camadas');
                        });
                }, function () {
                    console.log('cancel');
                });
        }

        angular.extend($scope, {
            salvarAcervo: salvarAcervo,
            excluirAcervo: excluirAcervo
        });
    }

    angular.module('s4c.controllers.AcervoCtrl', [
        'ngMaterial',
        's4c.services.Acervo',
        's4c.services.Grupo'
    ])
        .controller('AcervoCtrl', AcervoCtrl);

    AcervoCtrl.$inject = ['$scope', '$stateParams', '$mdDialog', '$state', 'Acervo', 'Grupo', 'AcervoTipo', '$rootScope'];
}());