Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/12/2013, 06:44
Avatar de reborn
reborn
 
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 9 meses
Puntos: 1
CakePHP - Permitir acción solo al dueño del post, al admin y al super admin

Hola,

sigo practicando con cake el tema del blog y los usuarios.

Ahora lo q quiero lograr es q cada post pueda ser editado y/o eliminado por, obviamente, el dueño del post, el admin y el super admin.

Agregue el campo "rango" con tipo numerico. 1=super admin, 2=admin, 3=usuario comun

En el PostController tengo lo siguiente:

Código PHP:
<?php

    
public function isAuthorized($user) {        
        
        
//Cualquier usuario agrega posts
        
if($this->action === 'add'){
            return 
true;
        }
        
 
//ACA ES DONDE QUIERO AGREGAR PARA EL ADMIN Y EL SUPER ADMIN TAMBIEN PUEDAN EDITAR Y ELIMINAR POSTS


        //Solo el dueño del post puede editar y eliminar su post
        
if (in_array($this->action, array('edit''delete'))) {
                
$postId $this->request->params['pass'][0];
            if (
$this->Post->isOwnedBy($postId$user['id'])) {
                return 
true;
            }
        }
        
//*******************************************************


        
parent::isAuthorized($user);
    }
Y en el modelo Post tengo lo siguiente:
Código PHP:

    
public function isOwnedBy($post$user) {
        return 
$this->field('id', array('id' => $post'user_id' => $user)) === $post;
    } 
Esta linea trae el id del post?

Código PHP:
$postId $this->request->params['pass'][0


Gracias

Última edición por reborn; 03/12/2013 a las 07:00