role progression: utente con un ruolo che dopo una settimana diventa un'altro ruolo

3 contenuti / 0 new
Ultimo contenuto
role progression: utente con un ruolo che dopo una settimana diventa un'altro ruolo

ho la seguente situazione:

ho degli utenti con diversi ruoli e diversi permessi in totale sono 10 ruoli.

ipotizzando che il ruolo 1 sia quello con minori permessi e il 10 con permessi totali, vorrei che in modo automatico un ruolo, diventasse di livello superiore dopo una settimana.

per esempio: giovanni si iscrive al sito e gli viene dato in automatico il ruolo 1

dopo una settimana gli viene assegnato il ruolo 2

dopo un'altra settimana gli viene asseggnato il ruolo 3... e così via fino al numero 10.

Come posso fare questo?

avevo trovato ubercart role progression, ma i miei utenti non devono pagare.... e poi non mi funziona (non ho capito perchè)

cerco soluzioni alternative

grazie: sono mesi che ci provo a trovare una soluzione

nessuno ha suggerimenti?

fforse ho trovato la soluzione con i triggered rules...
Che ne dite di questa?

array (
  'rules' =>
  array (
    'rules_add_role_1_week' =>
    array (
      '#type' => 'rule',
      '#set' => 'event_user_login',
      '#label' => 'add role 1 week',
      '#active' => 1,
      '#weight' => '0',
      '#categories' =>
      array (
        0 => 'Modify',
      ),
      '#status' => 'custom',
      '#conditions' =>
      array (
        0 =>
        array (
          '#weight' => 0,
          '#info' =>
          array (
            'label' => 'User has role(s)',
            'arguments' =>
            array (
              'user' =>
              array (
                'type' => 'user',
                'label' => 'User',
              ),
            ),
            'module' => 'User',
          ),
          '#name' => 'rules_condition_user_hasrole',
          '#settings' =>
          array (
            'roles' =>
            array (
              0 => 3,
            ),
            'operation' => 'OR',
            '#argument map' =>
            array (
              'user' => 'account',
            ),
          ),
          '#type' => 'condition',
        ),
        1 =>
        array (
          '#type' => 'condition',
          '#settings' =>
          array (
            'number1' => '[account:user-created-since]',
            'number2' => '1 week',
            'operation' => 'greater',
            '#eval input' =>
            array (
              'token_rules_input_evaluator' =>
              array (
                'number1' =>
                array (
                  0 => 'account',
                  1 => ':global',
                ),
                'number2' =>
                array (
                  0 => ':global',
                ),
              ),
            ),
          ),
          '#name' => 'rules_condition_number_compare',
          '#info' =>
          array (
            'label' => 'Numeric comparison',
            'arguments' =>
            array (
              'number1' =>
              array (
                'label' => 'Number 1',
                'type' => 'number',
              ),
              'number2' =>
              array (
                'label' => 'Number 2',
                'type' => 'number',
              ),
            ),
            'module' => 'Rules',
          ),
          '#weight' => 0,
        ),
      ),
      '#actions' =>
      array (
        0 =>
        array (
          '#weight' => 0,
          '#info' =>
          array (
            'label' => 'Add user role',
            'arguments' =>
            array (
              'user' =>
              array (
                'type' => 'user',
                'label' => 'User whos roles should be changed',
              ),
            ),
            'module' => 'User',
          ),
          '#name' => 'rules_action_user_addrole',
          '#settings' =>
          array (
            'roles' =>
            array (
              0 => 4,
            ),
            '#argument map' =>
            array (
              'user' => 'account',
            ),
          ),
          '#type' => 'action',
        ),
      ),
      '#version' => 6003,
    ),
  ),
)

dovrebbe funzionare! sto provando in locale ma ancora non è passata una settimana da quando ho creato l'utente, speriamo che funzioni