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.

Responder a