Bläddra i källkod

Agrego controles de roles para opcion de Usuarios

Gabriel Badano 4 år sedan
förälder
incheckning
0e2ef053fa
3 ändrade filer med 18 tillägg och 18 borttagningar
  1. 12 12
      protected/controllers/usuario.php
  2. 1 3
      protected/models/Usuario.php
  3. 5 3
      protected/views/_includes/menu.php

+ 12 - 12
protected/controllers/usuario.php

@@ -21,7 +21,7 @@ class usuario extends controller
 {
     public function index()
     {
-        $this->webApp()->requireLoginRedir();
+        $this->webApp()->requireLoginRedir(webApp::ROLE_ADMIN);
 
         $this->titulo = 'Usuarios';
 
@@ -75,7 +75,7 @@ class usuario extends controller
 
     public function add()
     {
-        $this->webApp()->requireLogin();
+        $this->webApp()->requireLogin(webApp::ROLE_ADMIN);
 
         $form = new form('usuario', array(
 
@@ -180,7 +180,7 @@ class usuario extends controller
 
     public function edit()
     {
-        $this->webApp()->requireLogin();
+        $this->webApp()->requireLogin(webApp::ROLE_ADMIN);
 
         $usuario = $this->db()->queryRow('SELECT id, usuario, email, nombre, role FROM usuarios WHERE id = :id', array(
             'id' => isset($_POST['usuario']['id']) ? $_POST['usuario']['id'] : $_POST['id']
@@ -284,7 +284,7 @@ class usuario extends controller
                                 )
                             );
 
-                        }else{
+                        } else {
 
                             $this->db()->insert('usuarioscuentas', array(
                                 'usuario_id' => $usuario->id,
@@ -316,9 +316,8 @@ class usuario extends controller
 
             } else {
 
-                $cuentas = $this->db()->query('SELECT cuentas.*, usuarioscuentas.role FROM cuentas LEFT JOIN usuarioscuentas ON usuarioscuentas.cuenta_id = cuentas.id WHERE usuarioscuentas.usuario_id = :usuario_id AND cuentas.active = :active', array(
-                    'usuario_id' => $usuario->id,
-                    'active'     => 1
+                $cuentas = $this->db()->query('SELECT cuentas.*, usuarioscuentas.role FROM cuentas LEFT JOIN usuarioscuentas ON usuarioscuentas.cuenta_id = cuentas.id WHERE usuarioscuentas.usuario_id = :usuario_id', array(
+                    'usuario_id' => $usuario->id
                 ));
 
                 $form->setAtributes($usuario);
@@ -343,14 +342,15 @@ class usuario extends controller
 
     public function delete()
     {
-        $this->webApp()->requireLogin();
+        $this->webApp()->requireLogin(webApp::ROLE_ADMIN);
 
         if (isset($_POST['id'])) {
 
             $db = $this->db();
 
-            $usuario = $db->queryRow('SELECT * FROM usuarios WHERE id IN(:ids) AND usuario = "admin"', array(
-                'ids' => implode(',', $_POST['id'])
+            $usuario = $db->queryRow('SELECT * FROM usuarios WHERE id IN(:ids) AND usuario = :usuario', array(
+                'usuario' => 'admin',
+                'ids'     => implode(',', $_POST['id'])
             ));
 
             if (!$usuario) {
@@ -382,7 +382,7 @@ class usuario extends controller
 
     public function data()
     {
-        $this->webApp()->requireLogin();
+        $this->webApp()->requireLogin(webApp::ROLE_ADMIN);
 
         $grid = $this->configGrid();
 
@@ -473,7 +473,7 @@ class usuario extends controller
 
         while ($c = $this->db()->getRow($cuentas)) {
 
-            $n++;
+            $n ++;
 
             $permiso = new select('cuentarole_' . $c->id . '', CuentaRole::getDescripcion(), array(
                 'label' => $c->cuenta

+ 1 - 3
protected/models/Usuario.php

@@ -56,9 +56,7 @@ class Usuario
 
             $cta = new Cuenta($cuenta);
 
-            $cta->id     = $cuenta->id;
-            $cta->cuenta = $cuenta->cuenta;
-            $cta->role   = $this->role == webApp::ROLE_ADMIN ? webApp::ROLE_ADMIN : $cuenta->role;
+            $cta->role = $this->role == webApp::ROLE_ADMIN ? webApp::ROLE_ADMIN : $cuenta->role;
 
             $ctas[] = $cta;
 

+ 5 - 3
protected/views/_includes/menu.php

@@ -53,9 +53,11 @@ $cuenta = $this->webApp()->getCuenta();
 
                 <?php $this->renderBusinessInclude('menu');?>
 
-                <li>
-                    <a href="<?php echo $this->webApp()->getSite();?>usuario"><i class="fa fa-users fa-fw"></i> <span>Usuarios</span></a>
-                </li>
+                <?php if ($this->webApp()->getRole() == webApp::ROLE_ADMIN) { ?>
+                    <li>
+                        <a href="<?php echo $this->webApp()->getSite();?>usuario"><i class="fa fa-users fa-fw"></i> <span>Usuarios</span></a>
+                    </li>
+                <?php } ?>
 
                 <li>
                     <a href="#" id="contract"></a>