Ajuda com Rules

Events happening in the community are now at Drupal community events on www.drupal.org.
mogadix's picture

Viva Pessoal,

precisava aqui de uma ajuda com uma situação.

A ideia é criar um registo de entrada de carros numa oficina (Registo de Viaturas).
A estrutura é simplificada é esta:

  • N.º Registo (Serial)
  • Estado Atual (Term reference - [vocabulário: estados]) e Read Only
  • Nome Cliente
  • Viatura
  • Histórico de Estados (Entity Reference) - Multiple
    - Estado do processo (Term reference - [vocabulário: estados])
    - Observações

A Viatura quando chega à oficina é dada a entrada/registo com esta estrutura, e em que o Estado Atual fica a novo.

Depois vão-se fazendo intervenções e para isso, criei uma entidade que chamei neste caso Histórico de Estados em que vamos registando as intervenções e que colocamos o novo estado, por ex,: aguarda peças, aguarda orçamento, aguarda resposta, para Pintura, Reparado, Entregue ao Cliente....

O que eu precisava, era que cada vez que se inseri-se um novo estado no Histórico de estados, o campo Estado Atual fosse também atualizado para o ultimo estado.

O que decidi fazer foi uma regra em que:

EVENTO:
- After updating existing content of type Registo de Viaturas

CONDIÇÕES:
- Content is of type Registo de Viaturas

Actions
loop (Histórico de Estados)
-Show a message on the site [Estado do processo]
- Set a data value [Estado Atual] = [Estado do processo][0]...[4] ?????

O Problema é este. Eu criei esta regra para cada vez que ao inserir um novo estado no histórico ele atualiza-se o campo Estado Atual da entidade "Pai". O Loop é para percorrer todos os Históricos de estados que eu possa ter inseridos.

Eu consigo com o ação Show message ir buscar todas os históricos de estados e listar, no entanto, quando tento atribuir esse valor/termo ao Estado Atual, o campo não me aparece, no data selectors aparece-me o [Estado do processo][0]...[4], mas apenas para seleccionar os atributos e não o termo em si...

Já tentei, nas condições validar com o Entity has field, já tentei nas ações com o Fetch entity by id, para tentar que a variavel me aparece-se mas nada...

o que me está a dar a entender é que o módulo Rules, não está preparado para aceder a taxonomias, referenciadas através de um campo que é uma entidade...

Espero que tenham percebido e que me possam ajudar.

mogadix

Comments

Já tentou com o módulo "workbench"

mspano's picture

Oi Mogadix,

Antes de mais nada, desculpe o meu português, pois soiu brasileiro e o o idioma é pouco diferente.

Você já tentou uitilizar o módulo "workbench"? Acredito que esse seja mais adequado para você em vez de fazer tudo isso que está tentando com o modulo Rules.

Com o módulo Workbech você cria quantos estados desejar, tal como:
-aguarda peças
-aguarda orçamento
-aguarda resposta
-para Pintura
-Reparado
-Entregue ao Cliente....

Esse módulo é para criar um fluxo (flow) do jeito que necessita. Você pode definir o fluxo dos estados, por exemplo, você pode definir que o estado não pode passar de "aguarda orçamento" para "reparado" direto, pois antes tem de passar pelo "aguarda resposta" e assim por diante.

Além disso, se você definir seu tipo de conteúdo para criar revisões, você vai poder saber todos os estados que passou o node (o carro).
Você pode também, configuar rules para enviar emails nas mudanças dos estados e muito mais.

Se vocÊ já conhece, peço desculpas pela intromissão aqui no grupo.
Até