EH, na hora eu pensei só no ORM ...
mas pensando agora, já que vais criar um Model novo para o Admin... basta
criar sem as rules ...
class Admin_Produto extends ORM {
//apenas relações e métodos, sem rules e filters
}
É uma saída, com menos pog
Em 26 de janeiro de 2014 12:45, DS interativa | PHP Grupos <
[email protected]> escreveu:
> certissimo...
>
> as regras excepcionais como UNICAS, para email, login e CPF estava
> realmente no model, vou colocar como externa
> ai eu poderia verificar se tem ID ( update ) e evitar elas ?? (isso no
> controller) - vou testar depois
>
> ja tenho um "ORM PAI" no formato que vc disse... com apenas o save fazendo
> um override mas sem regras dentro, apenas para saber como faria se
> precisasse
> não é o mais apropriado...
>
> tentei colocar dentro dele alguma regra mas para servir para todos, fica
> complicado então resolvi deixar tudo no model como disse, e as externas no
> controller mesmo!!
>
> so falta isso para eu fchar uma gestão de usuarios, por exemplo...
>
> Em 26/01/2014 13:27, felipe bastos escreveu:
>
> e por que você quer provocar um falha intencional no sistema?
>
> Olha, automaticamente as rules e filters vão ser chamados ..
> http://kohanaframework.org/3.3/guide/orm/validation
>
> Mas como já vimos, você pode ver em
> http://kohanaframework.org/3.3/guide/orm/validation#external-validation..
> algumas validações podem ser especificas de um determinado formulário.
>
> $user = ORM::factory('User');
> $user->username = $_POST['username'];
> $user->password = $_POST['password'];
>
> $extra_rules = Validation::factory($_POST)
> ->rule('password_confirm', 'matches', array(
> ':validation', ':field', 'password'
> ));
>
> // Pass the extra rules to be validated with the model
> $user->save($extra_rules);
>
> Não tem muito sentido o admin burlar as regras do sistema. Acho que você
> cai nesse caso. Se só será validado em 1 form, cria uma rule externa.
>
> Mas se você insistir no erro ... o bug é seu, e problema de quem for dar
> manutenção kkk
>
> Em ORM::create($validation) ele faz a seguinte verificação
>
> if ( ! $this->_valid OR $validation)
> {
> $this->check($validation);
> }
>
> Então, para burlar a segurança do sistema (não executar os rules),
> acrescentando um BUG intencional, basta você alterar o comportamento de ORM:
>
> class Admin_ORM extends ORM {
>
> protected $_valid = true; // ! $this->_valid OR $validation ... false OR
> $validation .. o validation reativa
>
> // você pode modificar create() e update() pra nunca chamar
> $this->check();
> public function create(Validation $validation = null)
> {
> parent::create(); //força validation null e $_valid ja é true
> }
>
> }
>
> Aí, você passa a usar o Admin_ORM, nos controllers de Admin .. e ele vai
> ignorar todas as rules e filters do model.
>
> $product = Admin_ORM::factory('Product');
> ....
> $product->save();
>
>
> Pronto, aí está o seu Bug :D
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
> Php" dos Grupos do Google.
> Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
> envie um e-mail para [email protected].
> Para postar neste grupo, envie um e-mail para [email protected].
> Visite este grupo em http://groups.google.com/group/kohana-php.
> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>
>
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
> Php" dos Grupos do Google.
> Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
> envie um e-mail para [email protected].
> Para postar neste grupo, envie um e-mail para [email protected].
> Visite este grupo em http://groups.google.com/group/kohana-php.
> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>
--
http://agilesocial.net
http://twitter.com/felipebastosweb
http://facebook.com/felipebastosweb
--
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos
Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um
e-mail para [email protected].
Para postar neste grupo, envie um e-mail para [email protected].
Visite este grupo em http://groups.google.com/group/kohana-php.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.