<commit_before>angular.module('sislegisapp').controller(
		'GerenciarReuniaoController',
		function($scope, $rootScope, $http, $filter, $routeParams, $location, $modal, $log, $timeout, toaster,
				ReuniaoResource, ProposicaoResource, ComentarioResource, PosicionamentoResource,
				ReuniaoProposicaoResource, TagResource, EncaminhamentoProposicaoResource, ComentarioService) {
    
	var self = this;
    $scope.disabled = false;
    $scope.$location = $location;
    $scope.arrayComissao = new Array();
    $scope.selectedFiltro = new Object();
    
    $scope.reuniao = new ReuniaoResource();
    $scope.reuniaoProposicao = new ReuniaoProposicaoResource();
    $scope.posicionamentos = PosicionamentoResource.queryAll();
    
    $scope.listaRPOrigem = $scope.listaReuniaoProposicoes;
    $scope.listaRPComissao = $scope.listaReuniaoProposicoes;
    
    $scope.detalhamentoProposicao = false;
    
    $scope.loadTags = function(query) {
    	return TagResource.listarTodos().$promise;
    };     
    

    $scope.getPosicionamentos = function(current) {
        var copy = $scope.posicionamentos.slice(0);
        if (current) {
        	var item = new PosicionamentoResource();
        	item.nome = current;
        	copy.unshift(item);
        }
        return copy;
      };
    
    $scope.isClean = function() {
        return angular.equals(self.original, $scope.reuniao);
    };

    $scope.save = function() {
        var successCallback = function(){
    		toaster.pop('success', 'Registro atualizado com sucesso.');
        };
        var errorCallback = function() {
        };
        $scope.selectedProposicao.$update(successCallback, errorCallback);
    };

    $scope.remove = function() {
        toaster.pop('success', 'Registro excluído com sucesso.');
        ReuniaoResource.remove({ReuniaoId:$scope.reuniao.id})
    };
    
    $scope.getProposicao = function(id) {
        var successCallback = function(data){
        	$scope.selectedProposicao = data;
        	$scope.detalhamentoProposicao = true;
            $scope.displayError = false;
        };
        var errorCallback = function(error) {
            $scope.displayError=true;
        };
        
    	ProposicaoResource.get({ProposicaoId: id}, successCallback, errorCallback);
    }
    
    $scope.getComissao = function(item) {
    	var obj = new Object();
    	obj.id = item.id;
    	obj.comissao = item.comissao;
    	for (var int = 0; int < $scope.arrayComissao.length; int++) {
			var array_element = $scope.arrayComissao[int];
			
			if(array_element.comissao == item.comissao && array_element.id != item.id){
				return false;
			}
		}
		obj.show = true;
		$scope.arrayComissao.push(obj);
    	return true;
	}	
    
    $scope.removerProposicao = function(id){
    	if(confirm("Deseja realmente excluir esse registro?")){
    		var successCallback = function(){
            	
            	ReuniaoResource.buscarReuniaoPorData({data : $scope.dataFormatada()},
            	function(sucess){
            		$scope.listaReuniaoProposicoes = sucess;
            		if($scope.selectedProposicao.id == id){
            			$scope.selectedProposicao = null;
            			$scope.detalhamentoProposicao = false;
            		}
            	},function(){
                	$scope.displayError=true;
            	});
            };
            var errorCallback = function() {
            	$scope.displayError=true;
            };
            
        	ProposicaoResource.remove({ProposicaoId: id}, successCallback, errorCallback);
    	}

    }; 
    
    
    $scope.dataFormatada = function(){
        var formattedDate = $filter('date')(new Date($scope.reuniao.data),
        	'MM/dd/yyyy');
        return formattedDate;
    };
    
    $scope.$watch("reuniao.data", function() {
    	if(!angular.isUndefined($scope.reuniao.data)){
    		
    		var successCallback = function(){
                if ($scope.listaReuniaoProposicoes.length == 0) {
                	toaster.pop('info', 'Não existem proposições para esta data. Você pode adicionar novas proposições.');
                }
            };
            var errorCallback = function() {
            	toaster.pop('error', 'Falha ao buscar Reunião.');
            };
    		
    		$scope.listaReuniaoProposicoes = ReuniaoResource.buscarReuniaoPorData({data : $scope.dataFormatada()}, successCallback, errorCallback);
    		$scope.detalhamentoProposicao = false;
    	}

    });
    
    $scope.$watch('listaReuniaoProposicoes', function() {
        $scope.listaRPOrigem = $scope.listaReuniaoProposicoes;
        $scope.listaRPComissao = $scope.listaReuniaoProposicoes;
	});
    
    $scope.changeFiltroComissao = function() {
		if(!$scope.filtroComissao.comissao){
			$scope.filtroComissao = null;
		}
	}

    $scope.changeFiltroOrigem = function() {
		if(!$scope.filtroOrigem.origem){
			$scope.filtroOrigem = null;
		}
	}
    
	$scope.getUsuarios = function(val) {
	    return $http.get('../rest/usuarios/find', {
	      params: {
	        nome: val
	      }
	    }).then(function(response){
	      return response.data.map(function(item){
	        return item;
	      });
	    });
	  };

	  

    /**
     * MODALs
     */
    $scope.buscarProposicoes = function () {
    	toaster.clear();
    	
    	if($scope.reuniao.data == null){
    		toaster.pop('info', 'Selecione a data da reunião.');
    		return;
    	}
    	
        var modalInstance = $modal.open({
          templateUrl: 'views/modal-buscar-proposicao.html',
          controller: 'ModalBuscarProposicaoController',
          size: 'lg',<commit_msg>fix bug quando atualizar filtro origem zerar filtro comissao<commit_after>angular.module('sislegisapp').controller(
		'GerenciarReuniaoController',
		function($scope, $rootScope, $http, $filter, $routeParams, $location, $modal, $log, $timeout, toaster,
				ReuniaoResource, ProposicaoResource, ComentarioResource, PosicionamentoResource,
				ReuniaoProposicaoResource, TagResource, EncaminhamentoProposicaoResource, ComentarioService) {
    
	var self = this;
    $scope.disabled = false;
    $scope.$location = $location;
    $scope.arrayComissao = new Array();
    $scope.selectedFiltro = new Object();
    
    $scope.reuniao = new ReuniaoResource();
    $scope.reuniaoProposicao = new ReuniaoProposicaoResource();
    $scope.posicionamentos = PosicionamentoResource.queryAll();
    
    $scope.listaRPOrigem = $scope.listaReuniaoProposicoes;
    $scope.listaRPComissao = $scope.listaReuniaoProposicoes;
    
    $scope.detalhamentoProposicao = false;
    
    $scope.loadTags = function(query) {
    	return TagResource.listarTodos().$promise;
    };     
    

    $scope.getPosicionamentos = function(current) {
        var copy = $scope.posicionamentos.slice(0);
        if (current) {
        	var item = new PosicionamentoResource();
        	item.nome = current;
        	copy.unshift(item);
        }
        return copy;
      };
    
    $scope.isClean = function() {
        return angular.equals(self.original, $scope.reuniao);
    };

    $scope.save = function() {
        var successCallback = function(){
    		toaster.pop('success', 'Registro atualizado com sucesso.');
        };
        var errorCallback = function() {
        };
        $scope.selectedProposicao.$update(successCallback, errorCallback);
    };

    $scope.remove = function() {
        toaster.pop('success', 'Registro excluído com sucesso.');
        ReuniaoResource.remove({ReuniaoId:$scope.reuniao.id})
    };
    
    $scope.getProposicao = function(id) {
        var successCallback = function(data){
        	$scope.selectedProposicao = data;
        	$scope.detalhamentoProposicao = true;
            $scope.displayError = false;
        };
        var errorCallback = function(error) {
            $scope.displayError=true;
        };
        
    	ProposicaoResource.get({ProposicaoId: id}, successCallback, errorCallback);
    }
    
    $scope.getComissao = function(item) {
    	var obj = new Object();
    	obj.id = item.id;
    	obj.comissao = item.comissao;
    	for (var int = 0; int < $scope.arrayComissao.length; int++) {
			var array_element = $scope.arrayComissao[int];
			
			if(array_element.comissao == item.comissao && array_element.id != item.id){
				return false;
			}
		}
		obj.show = true;
		$scope.arrayComissao.push(obj);
    	return true;
	}	
    
    $scope.removerProposicao = function(id){
    	if(confirm("Deseja realmente excluir esse registro?")){
    		var successCallback = function(){
            	
            	ReuniaoResource.buscarReuniaoPorData({data : $scope.dataFormatada()},
            	function(sucess){
            		$scope.listaReuniaoProposicoes = sucess;
            		if($scope.selectedProposicao.id == id){
            			$scope.selectedProposicao = null;
            			$scope.detalhamentoProposicao = false;
            		}
            	},function(){
                	$scope.displayError=true;
            	});
            };
            var errorCallback = function() {
            	$scope.displayError=true;
            };
            
        	ProposicaoResource.remove({ProposicaoId: id}, successCallback, errorCallback);
    	}

    }; 
    
    
    $scope.dataFormatada = function(){
        var formattedDate = $filter('date')(new Date($scope.reuniao.data),
        	'MM/dd/yyyy');
        return formattedDate;
    };
    
    $scope.$watch("reuniao.data", function() {
    	if(!angular.isUndefined($scope.reuniao.data)){
    		
    		var successCallback = function(){
                if ($scope.listaReuniaoProposicoes.length == 0) {
                	toaster.pop('info', 'Não existem proposições para esta data. Você pode adicionar novas proposições.');
                }
            };
            var errorCallback = function() {
            	toaster.pop('error', 'Falha ao buscar Reunião.');
            };
    		
    		$scope.listaReuniaoProposicoes = ReuniaoResource.buscarReuniaoPorData({data : $scope.dataFormatada()}, successCallback, errorCallback);
    		$scope.detalhamentoProposicao = false;
    	}

    });
    
    $scope.$watch('listaReuniaoProposicoes', function() {
        $scope.listaRPOrigem = $scope.listaReuniaoProposicoes;
        $scope.listaRPComissao = $scope.listaReuniaoProposicoes;
	});
    
    $scope.changeFiltroComissao = function() {
		if(!$scope.filtroComissao.comissao){
			$scope.filtroComissao = null;
		}
	}

    $scope.changeFiltroOrigem = function() {
		if(!$scope.filtroOrigem.origem){
			$scope.filtroOrigem = null;
		}
		$scope.filtroComissao = null;
	}
    
	$scope.getUsuarios = function(val) {
	    return $http.get('../rest/usuarios/find', {
	      params: {
	        nome: val
	      }
	    }).then(function(response){
	      return response.data.map(function(item){
	        return item;
	      });
	    });
	  };

	  

    /**
     * MODALs
     */
    $scope.buscarProposicoes = function () {
    	toaster.clear();
    	
    	if($scope.reuniao.data == null){
    		toaster.pop('info', 'Selecione a data da reunião.');
    		return;
    	}
    	
        var modalInstance = $modal.open({
          templateUrl: 'views/modal-buscar-proposicao.html',
          controller: 'ModalBuscarProposicaoController',
          size: 'lg',
{'fraction_non_alphanumeric': 0.12559178204555604, 'fraction_numerical': 0.0005359535506922733, 'mean_word_length': 2.4040741866828825, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6441814', 'n_tokens_mistral': 3763, 'n_tokens_neox': 3673, 'n_words': 551}