Estou fazendo a validação no model, mas é no action save que eu tento
salvar, aí minha idéia é redirecionar para o (NOVO/EDITAR) com o $_POST e
$erros.
Fiz aqui uns input hidden no form indicando qual a action advinda, acho que
vai quebrar o galho.
Estou tentando fazer o sistema mais genérico possível, acham que existe
maneira melhor?
public function action_salvar() {
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$grupo = ORM::Factory('grupo', $_POST['id']);
$id = $_POST['id'];
try {
unset($_POST['id']);
$grupo->values($_POST);
$grupo->save();
Helper_URL::redirectLista();
} catch(ORM_Validation_Exception $e){
$grupo->id = $id;
$erros = $e->errors('models');
if($_POST['action'] == 'novo'){
$this->action_novo($grupo, $erros);
} else {
$this->action_editar($grupo, $erros);
}
}
}
}
Em 8 de maio de 2012 08:42, Bernardo - Sudeste Hosting
<[email protected]>escreveu:
>
> Veja o $this->request->referrer(); ou Request::initial()->referrer()
>
> Mais aqui:
> http://stackoverflow.com/questions/7389623/kohana-3-2-get-referrer-uri
>
> Em 8 de maio de 2012 08:29, Daniel Ribeiro Gomes <[email protected]>escreveu:
>
> Olha, a princípio, não há nada no *core* que te permita fazer isso.
>>
>> Uma ideia de implementação seria um *BaseController *da sua aplicação
>> implementar um método para guardar o histórico de navegação, ex:
>>
>> class Controller_Base extends Controller
>> {
>> protected $_history;
>>
>> public function action_before()
>> {
>> $this->_history[] = Url::current();
>> }
>> }
>>
>> E fazer com que todos os seus controllers sejam implementações de *
>> Controller_Base*.
>>
>> Assim, em qualquer momento, você pode acessar o *_history* e saber o
>> histórico de navegação.
>>
>> Essa é uma solução paleativa, e com certeza devem haver soluções com
>> design melhor.
>>
>> Att,
>>
>> Daniel Ribeiro Gomes Pereira
>> Twitter <https://twitter.com/#%21/drgomesp> |
>> Facebook<https://www.facebook.com/profile.php?id=100000407054469>
>> | LinkedIn <http://www.linkedin.com/pub/daniel-ribeiro-gomes/21/414/39>
>> iPhone: +55 (48) 9111-0931
>>
>>
>>
>> Em 8 de maio de 2012 08:24, Douglas J.A.M <[email protected]>escreveu:
>>
>> Não, a dúvida é se existe algo do kohana que guarde na requisição atual,
>>> qual a origem, tipo um
>>>
>>> response.redirect('javascript:history.go(-1)', $_POST, $erros);
>>>
>>> onde no salvar, eu válido os dados, e em caso de erro, eu chamo quem
>>> chamou (novo registro/editar registro) adicionando os erros e o POST
>>> submetido...
>>>
>>>
>>> Em 8 de maio de 2012 08:18, Daniel Ribeiro Gomes
>>> <[email protected]>escreveu:
>>>
>>> Você pode redirecionar o fluxo da aplicação com $this->request->
>>>> redirect($newUrl).
>>>>
>>>> Att,
>>>>
>>>> Daniel Ribeiro Gomes Pereira
>>>> Twitter <https://twitter.com/#%21/drgomesp> |
>>>> Facebook<https://www.facebook.com/profile.php?id=100000407054469>
>>>> | LinkedIn<http://www.linkedin.com/pub/daniel-ribeiro-gomes/21/414/39>
>>>> iPhone: +55 (48) 9111-0931
>>>>
>>>>
>>>>
>>>> Em 8 de maio de 2012 08:15, Douglas J.A.M <[email protected]>escreveu:
>>>>
>>>> Bom dia pessoal, eu gostaria de saber se há como saber qual o evento
>>>>> chamador/anterior a action atual, por exemplo:
>>>>>
>>>>> Tenho as actions:
>>>>>
>>>>> novo()
>>>>> editar()
>>>>> salvar()
>>>>>
>>>>> No salvar eu faço uma validação, e caso dê errado, eu gostaria de
>>>>> redirecionar para a action que chamou o salvar, existe algum metódo
>>>>> para isso, no momento faço a gambis de um input hidden informando de
>>>>> onde vem..
>>>>> Há como?
>>>>>
>>>>> Obrigado.
>>>>>
>>>>> --
>>>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>>>>> Php" dos Grupos do Google.
>>>>> Para postar neste grupo, envie um e-mail para
>>>>> [email protected].
>>>>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>>>>> [email protected].
>>>>> Para obter mais opções, visite esse grupo em
>>>>> http://groups.google.com/group/kohana-php?hl=pt-BR.
>>>>>
>>>>>
>>>> --
>>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>>>> Php" dos Grupos do Google.
>>>> Para postar neste grupo, envie um e-mail para
>>>> [email protected].
>>>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>>>> [email protected].
>>>> Para obter mais opções, visite esse grupo em
>>>> http://groups.google.com/group/kohana-php?hl=pt-BR.
>>>>
>>>
>>> --
>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>>> Php" dos Grupos do Google.
>>> Para postar neste grupo, envie um e-mail para
>>> [email protected].
>>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>>> [email protected].
>>> Para obter mais opções, visite esse grupo em
>>> http://groups.google.com/group/kohana-php?hl=pt-BR.
>>>
>>
>> --
>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>> Php" dos Grupos do Google.
>> Para postar neste grupo, envie um e-mail para [email protected]
>> .
>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>> [email protected].
>> Para obter mais opções, visite esse grupo em
>> http://groups.google.com/group/kohana-php?hl=pt-BR.
>>
>
>
>
> --
> Atenciosamente,
> Bernardo Sepulveda de Castro
> ------- ------- ------- -------- -------- --------
> *Sudeste Hosting...*
> Ideias e Soluções Web
> www.sudestehosting.com.br
> (21)3305-3105
>
>
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
> Php" dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para [email protected].
> Para cancelar a inscrição nesse grupo, envie um e-mail para
> [email protected].
> Para obter mais opções, visite esse grupo em
> http://groups.google.com/group/kohana-php?hl=pt-BR.
>
--
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos
Grupos do Google.
Para postar neste grupo, envie um e-mail para [email protected].
Para cancelar a inscrição nesse grupo, envie um e-mail para
[email protected].
Para obter mais opções, visite esse grupo em
http://groups.google.com/group/kohana-php?hl=pt-BR.