Submitted by Ivelfan on
Bonjour,
Je travail actuellement sur un site de E-Commerce. Les sociétés détentrices d'un compte possèdent le loisir de créer des comptes pour leur employé.
J'utilise pour ce faire le module Subuser dans sa version patchée (trouvé sur le forum officiel Drupal). Le module fonctionne correctement. La société a accès à une page d'inscription similaire à celle de l'administrateur sauf que j'aimerai que des données disparaissent comme la langue par défaut, si le compte est activé ou non.
Pour ce faire, j'ai crée un module Divers qui a pour but de surcharger la fonction de surcharge du formulaire d'inscription suivante :
<?php
function subuser_form_user_register_form_alter(&$form, &$form_state) {
global $user;
// If the user does not have access to the roles field then filter the roles
// field based on subuser permissions and display if more then one left. If
// the user has 'administer permissions' then the #access will be set to TRUE
// and they will have access to all roles, otherwise if the user has access
// to this page through subuser then only provide them with the roles they
// are allowed based on subuser. All users will have at least one role, but
// that role may be 'authenticated user' which is not included in #options.
if (!$form['account']['roles']['#access']) {
foreach ($form['account']['roles']['#options'] as $rid => $role) {
if (!user_access('create subuser ' . $rid)) {
unset($form['account']['roles']['#options'][$rid]);
}
else{
$form['account']['roles']['#disabled'][$rid] = 1;
$form['account']['roles']['#default_value']= array(8);
}
}
$form['account']['roles']['#access'] = count($form['account']['roles']['#options']) > 0;
}
$form['subuser_relation'] = array(
'#type' => 'checkbox',
'#title' => t('User relation'),
'#description' => t('Store a relationship that will allow for further management of the user.'),
'#default_value' => $user->uid && variable_get('subuser_relation', TRUE),
'#access' => $user->uid && user_access('override subuser relation'),
);
$form['#submit'][] = 'subuser_user_register_form_submit';
}
?>
Voici ma fonction qui ne fonctionne pas :
<?php
function divers_form_subuser_form_user_register_form_alter(&$form, &$form_state) {
unset($form['field_people_user_role']);
//$form['account']['roles']['#access'] = 0;
//$form['locale']['#access'] = 0;
//$form['account']['status']['#access'] = 0;
}
?>
Pouvez vous m'orienter dans la résolution de mon problème ?
Merci d'avance
Ivelfan