D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home1
/
netbooks
/
public_html
/
__nbgym
/
models
/
Filename :
utilizadores.js
back
Copy
var Utilizadores = function() { var v = function() { $('#checkAlterarPW').change(function() { if($(this).is(":checked")) { $('#divPw').removeClass('hidden'); } else { $('#divPw').addClass('hidden'); } }); $( "#form" ).validate({ rules: { nome: { required: true, maxlength: 100 } }, invalidHandler: function(event, validator) { var alert = $('#form_msg'); alert.removeClass('m--hide').show(); mApp.scrollTo(alert, -200); }, submitHandler: function (form) { if(!$('#btnGuardar').hasClass('m-loader')) { $('#btnGuardar').addClass('m-loader m-loader--right'); var id = $('#i').val(); var nome = $('#txtNome').val(); var email = $('#txtEmail').val(); var telemovel = $('#txtTelemovel').val(); var tipo = $('input[name=radioTipo]:checked').val(); var username = $('#txtUsername').val(); var p1 = $('#txtPalavraPasse1').val(); var p2 = $('#txtPalavraPasse2').val(); var estado = $('input[name=radioEstado]:checked').val(); var altera_pw = 'N'; if($('#checkAlterarPW:checked').val()=='S') { altera_pw = 'S'; } if(id=='' && (p1=='' || p2=='' || username=='')) { notificacao('info','A palavra-passe é obrigatória'); $('#btnGuardar').removeClass('m-loader m-loader--right'); return false; } if(id=='' || altera_pw == 'S') { if($('#txtPalavraPasse1').val().length<6) { notificacao('info','A palavra-passe deve ter no mínimo 6 caracteres.'); $('#btnGuardar').removeClass('m-loader m-loader--right'); return false; } if($('#txtPalavraPasse1').val()!=$('#txtPalavraPasse2').val()) { notificacao('info','As palavra-passe não coincidem.'); $('#btnGuardar').removeClass('m-loader m-loader--right'); return false; } } $('#form_msg').addClass('m--hide'); $.ajax({ type: "POST", url: 'controllers/utilizadores.php', data: { csrf_token: $('#csrf_token').val(), op:'adicionar', id:id, nome:nome, email:email, telemovel:telemovel, tipo:tipo, username:username, p1:p1, p2:p2, estado:estado, altera_pw:altera_pw }, dataType: 'json', success: function(data){ var json = jQuery.parseJSON(JSON.stringify(data)); if(json.res=='token' || json.res=='erro') { notificacao('error','Ocorreu um erro.','Tente novamente'); } else { if(id=='') { if($('#checkCriarOutro:checked').val()=='S') { notificacao('success','Utilizador criado'); setTimeout(function() { location.reload(); }, 1500); } else { notificacao('success','Utilizador criado'); } } else { notificacao('success','Utilizador alterado com sucesso'); setTimeout(function() { window.location.href = 'lista-utilizadores' }, 1000); } } $('#btnGuardar').removeClass('m-loader m-loader--right'); } }); } } }); }; return { init: function() { v() } } }(); var ListaUtilizadores = function() { var t = function() { var datatable = $('#tblUtilizadores').mDatatable({ data: { type: 'remote', source: { read: { url: 'controllers/utilizadores.php?op=tabela&token='+$('#csrf_token').val(), }, }, pageSize: 5, serverPaging: false, serverSorting: false, serverFiltering: true, }, layout: { theme: 'default', class: 'table table-sm m-table table-striped m-table--nb', scroll: false, footer: false }, sortable: true, pagination: true, toolbar: { items: { pagination: { pageSizeSelect: [5, 10, 20, 30, 50, 100], }, }, }, search: { input: $('#generalSearch'), }, columns: [ { field:"imagem", title:"", width:50, sortable:!1, template:function(e) { if(e.imagem_tabelas=='S') { if(e.imagem_com_sem=='sem') { template = e.imagem; } else { template = '<div class="m-card-user m-card-user--sm">\ <div class="m-card-user__pic">\ <img src="'+e.imagem+'" class="m--img-rounded m--marginless" alt="photo">\ </div>\ </div>'; } } else { template = ''; } return template; }}, { field: 'nome', title: 'Nome' }, { field: 'tipo', title: 'Tipo', width: 120 },{ field:"acoes", width:120, title:"", sortable:!1, textAlign: "center", overflow:"visible", template:function(e) { var acoes = '<a href="utilizadores?id='+e.id+'" class="m-portlet__nav-link btn m-btn m-btn--hover-accent m-btn--icon m-btn--icon-only m-btn--pill" title="Editar">'; acoes += '<i class="la la-edit"></i>'; acoes += '</a>'; if(e.estado == 'I') { acoes += '<a class="m-portlet__nav-link btn m-btn m-btn--hover-danger m-btn--icon m-btn--icon-only m-btn--pill m_eliminar" attr-id="'+e.id+'" title="Eliminar">'; acoes += '<i class="la la-trash"></i>'; acoes += '</a>'; acoes += '<a class="m-portlet__nav-link btn m-btn m-btn--hover-success m-btn--icon m-btn--icon-only m-btn--pill btnDes" attr-id="'+e.id+'" attr-op="ativar" title="Ativar">'; acoes += '<i class="la la-undo"></i>'; acoes += '</a>'; } else { acoes += '<a class="m-portlet__nav-link btn m-btn m-btn--hover-danger m-btn--icon m-btn--icon-only m-btn--pill btnDes" attr-id="'+e.id+'" attr-op="desativar" title="Desativar">'; acoes += '<i class="la la-ban"></i>'; acoes += '</a>'; } return acoes; } } ], translate: { records: { processing: "A carregar...", noRecords: "Não foram encontrados resultados" }, toolbar: { pagination: { items: { info:"{{start}} - {{end}} de {{total}} registos" } } } } }); datatable.on('m-datatable--on-layout-updated', function() { $('.btnDes').click(function(e) { var op = $(this).attr('attr-op'); var id = $(this).attr('attr-id'); var t = 'Desativar utilizador'; var text = 'Esta operação marca o utilizador como inativo'; var tp = 'warning'; if(op=='ativar') { t = 'Ativar utilizador'; var text = 'Esta operação marca o utilizador como ativo'; tp = 'warning'; } swal({ title: t, text: text, type: tp, showCancelButton: true, confirmButtonText: 'Confirmar', cancelButtonText: 'Cancelar' }).then(function(result) { if (result.value) { $.ajax({ type: "POST", url: "controllers/utilizadores.php", data: { csrf_token: $('#csrf_token').val(), op: 'ativar-desativar', id:id, operacao:op }, dataType: 'json', success: function(data){ var json = jQuery.parseJSON(JSON.stringify(data)); if(json.res=='sucesso') { swal("", "Operação efetuada com sucesso", "success"); $('#tblUtilizadores').mDatatable('reload'); } else { swal("Não foi possível concluír a operação", "Tente novamente", "error"); } } }); } }); }); $('.m_eliminar').click(function(e) { var id = $(this).attr('attr-id'); swal({ title: 'Eliminar o utilizador?', text: "Esta operação não pode ser revertida", type: 'warning', showCancelButton: true, confirmButtonText: 'Sim, eliminar', cancelButtonText: 'Cancelar' }).then(function(result) { if (result.value) { $.ajax({ type: "POST", url: "controllers/utilizadores.php", data: { csrf_token: $('#csrf_token').val(), op: 'eliminar', id:id }, dataType: 'json', success: function(data){ var json = jQuery.parseJSON(JSON.stringify(data)); if(json.res=='sucesso') { swal("Utilizador eliminado", "Operação efetuada com sucesso", "success"); $('#tblUtilizadores').mDatatable('reload'); } else { swal("Não foi possível concluír a operação", "Tente novamente", "error"); } } }); } }); }); }); var query = datatable.getDataSourceQuery(); $('input[name=radioEstado]').change(function() { var query = datatable.getDataSourceQuery(); query.Estado = $(this).attr('id'); datatable.setDataSourceQuery(query); datatable.load(); }).val(typeof query.Estado !== 'undefined' ? query.Estado : 'A'); $('.m-datatable__table').css('min-height','auto'); } return { init: function() { if($('#tblUtilizadores').length>0) { t() } } } }(); jQuery(document).ready(function() { if($('#tblUtilizadores').length>0) { ListaUtilizadores.init() } else { Utilizadores.init() } });