<commit_before><?php
/**
 * @property Personaje $Personaje
 */

class PersonajesController extends AppController {
    public $name = 'Personajes';
    public $components = array('Session');

    function index() {
        $this->set('personajes', $this->Personaje->find('all'));
    }

    function view($id = null) {
        $this->Personaje->id = $id;
        $this->set('personaje',$this->Personaje->read());
    }

    function carga($id = null) {
        $this->Personaje->id = $id;
        $this->set('personaje',$this->Personaje->read());
        $this->layout = 'ajax';
    }

    public function add() {
        if ( $this->request->is('post')) {
            $this->request->data['Personaje']['autor'] = $this->Auth->user('id');
            if ($this->Personaje->save($this->request->data)) {
                $this->Session->setFlash('Tu personaje se ha salvado');
                $this->redirect(array('action' => 'index'));
            }
        }
    }

    public function salva() {
        if ($this->request->is(array('post', 'put'))) {
            $data = array(
                'Personaje' => array(
                    'nombre' => $this->request->data('nombre'),
                    'categoria' => $this->request->data('categoria'),
                    'nivel' => $this->request->data('nivel'),
                    'raza' => $this->request->data('raza'),
                    'json' => $this->request->data('json'),
                    'user_id' => $this->Auth->user('id')
                )
            );
            $this->Personaje->create();

            if ($this->Personaje->save($data)) {
                $this->Session->setFlash('Tu personaje se ha salvado');
                $this->redirect(array('action' => 'index'));
            }
        } else {
            $this->redirect(array('action' => 'index'));
        }
    }

    public function edit($id = null) {
        if (!$id) {
            throw new NotFoundException(__('Personaje no válido'));
        }

        $personaje = $this->Personaje->findById($id);
        if (!$personaje) {
            throw new NotFoundException(__('Personaje no válido'));
        }

        if ($this->request->is(array('post', 'put'))) {
            $this->Personaje->id = $id;
            if ($this->Personaje->save($this->request->data)) {
                $this->Session->setFlash(__('Tu Personaje ha sido actualizado.'));
                return $this->redirect(array('action' => 'index'));
            }
            $this->Session->setFlash(__('No se ha podido actualizar tu personaje.'));
        }

        if (!$this->request->data) {
            $this->request->data = $personaje;
        }
    }

    function delete($id) {
        if (!$this->request->is('post')) {
            throw new MethodNotAllowedException();
        }
        if ($this->Personaje->delete($id)) {
            $this->Session->setFlash('El Personaje con id: ' . $id . ' ha sido eliminado.');
            $this->redirect(array('action' => 'index'));
        }
    }

    public function isAuthorized($user) {
        if (($this->action === 'add') || ($this->action === 'salva')  || ($this->action === 'carga')) {
            return true;
        }

        if (in_array($this->action, array('edit', 'delete'))) {
            $personajeId = $this->request->params['pass'][0];<commit_msg>re #90 Permitir el acceso a la carga de usuarios<commit_after><?php
/**
 * @property Personaje $Personaje
 */

class PersonajesController extends AppController {
    public $name = 'Personajes';
    public $components = array('Session');

    function index() {
        $this->set('personajes', $this->Personaje->find('all'));
    }

    function view($id = null) {
        $this->Personaje->id = $id;
        $this->set('personaje',$this->Personaje->read());
    }

    function carga($id = null) {
        $this->Personaje->id = $id;
        $this->set('personaje',$this->Personaje->read());
        $this->layout = 'ajax';
    }

    public function add() {
        if ( $this->request->is('post')) {
            $this->request->data['Personaje']['autor'] = $this->Auth->user('id');
            if ($this->Personaje->save($this->request->data)) {
                $this->Session->setFlash('Tu personaje se ha salvado');
                $this->redirect(array('action' => 'index'));
            }
        }
    }

    public function salva() {
        if ($this->request->is(array('post', 'put'))) {
            $data = array(
                'Personaje' => array(
                    'nombre' => $this->request->data('nombre'),
                    'categoria' => $this->request->data('categoria'),
                    'nivel' => $this->request->data('nivel'),
                    'raza' => $this->request->data('raza'),
                    'json' => $this->request->data('json'),
                    'user_id' => $this->Auth->user('id')
                )
            );
            $this->Personaje->create();

            if ($this->Personaje->save($data)) {
                $this->Session->setFlash('Tu personaje se ha salvado');
                $this->redirect(array('action' => 'index'));
            }
        } else {
            $this->redirect(array('action' => 'index'));
        }
    }

    public function edit($id = null) {
        if (!$id) {
            throw new NotFoundException(__('Personaje no válido'));
        }

        $personaje = $this->Personaje->findById($id);
        if (!$personaje) {
            throw new NotFoundException(__('Personaje no válido'));
        }

        if ($this->request->is(array('post', 'put'))) {
            $this->Personaje->id = $id;
            if ($this->Personaje->save($this->request->data)) {
                $this->Session->setFlash(__('Tu Personaje ha sido actualizado.'));
                return $this->redirect(array('action' => 'index'));
            }
            $this->Session->setFlash(__('No se ha podido actualizar tu personaje.'));
        }

        if (!$this->request->data) {
            $this->request->data = $personaje;
        }
    }

    function delete($id) {
        if (!$this->request->is('post')) {
            throw new MethodNotAllowedException();
        }
        if ($this->Personaje->delete($id)) {
            $this->Session->setFlash('El Personaje con id: ' . $id . ' ha sido eliminado.');
            $this->redirect(array('action' => 'index'));
        }
    }

    public function beforeFilter() {
        parent::beforeFilter();
        $this->Auth->allow('carga');
    }

    public function isAuthorized($user) {
        if (($this->action === 'add') || ($this->action === 'salva')  || ($this->action === 'carga')) {
            return true;
        }

        if (in_array($this->action, array('edit', 'delete'))) {
            $personajeId = $this->request->params['pass'][0];
{'fraction_non_alphanumeric': 0.19448518627163391, 'fraction_numerical': 0.0005866823115283074, 'mean_word_length': 1.9392241379310344, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 191, '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': '5992590', 'n_tokens_mistral': 1993, 'n_tokens_neox': 1948, 'n_words': 345}