Una mas de sfGuardUser

3 views
Skip to first unread message

Gebe

unread,
Nov 19, 2009, 3:49:50 PM11/19/09
to symfony-es
como hago para asignarle un grupo (sf_guard_user_group) a un usuario,
no lo quiero hacer desde un formulario, sino que viene desde la ruta,
es decir la ruta:

es vendedor/nuevo/particular.html

corresponde a la regla en el routing:

vendedor_nuevo_particular:
url: /vendedor/nuevo/particular
param: { module: vendedor, action: new, tipo: 1}

el parametro tipo (=1) es el id del grupo, como hago para que al crear
el nuevo user, se guarde la relacion userio <-> grupo en la tabla de
relaciones de la base?

Ayudas?

eemece2 Eduardo Martinez

unread,
Nov 20, 2009, 3:32:13 AM11/20/09
to symfo...@googlegroups.com
Hola,

yo uso:

$user->addGroupByName('comercial');

si tengo el nombre del grupo.

que es una funcion de PluginsfGuardUser

saludos,
Edu

Gebe

unread,
Nov 20, 2009, 4:05:21 PM11/20/09
to symfony-es
mmmmm pero lo que yo quiero es guardar esa relacion cuando guardo el
formulario de usuario y no quiero mostrar la lista de grupos en el
formulario.
entonces tengo mi sfGuardUserForm asi:

class sfGuardUserForm extends PluginsfGuardUserForm
{
public function configure()
{
$this->removeFields();

$profileForm = new UsuarioForm($this->object->Usuario);
unset($profileForm['id'], $profileForm['sf_guard_user_id']);
$this->embedForm('Profile', $profileForm);

//aquí tomo el nombre del grupo que quiero asignarle al
nuevo usuario
$grupo = sfContext::getInstance()->getRequest()-
>getParameter('tipo');

}

protected function removeFields()
{
unset(
$this['created_at'], $this['updated_at'],
$this['is_active'], $this['algorithm'],
$this['is_super_admin'], $this['last_login'],
$this['groups_list'], $this['permissions_list'],
$this['salt']
);
}
}

como hacer para asignarle ese grupo al nuevo usuario que estoy por
crear?

ayudita?????



On 20 nov, 05:32, eemece2 Eduardo Martinez <eeme...@gmail.com> wrote:
> Hola,
>
> yo uso:
>
> $user->addGroupByName('comercial');
>
> si tengo el nombre del grupo.
>
> que es una funcion de PluginsfGuardUser
>
> saludos,
> Edu
>

Gebe

unread,
Nov 22, 2009, 6:50:35 PM11/22/09
to symfony-es
Algun experto me ayuda con esta situación??

Gracias...

eemece2 Eduardo Martinez

unread,
Nov 23, 2009, 3:52:16 AM11/23/09
to symfo...@googlegroups.com
Creo que deberias hacerlo en la acción, o en el modelo.
Por ejemplo en la accion, cuando procesas el formulario (normalmente en processForm), guardas el usuario y tambien aplicas lo de :

$user->addGroupByName('comercial');

... en caso de que pases como parametro el nombre de grupo. Pasando el id, como haces ahora, tendrias que usar otra funcion similar (que quizas tengas que crear tu, añadiendo un registro a sfGuardUserGroup).

Te detallo mas si no lo ves claro.

saludos!
Edu

Gebe

unread,
Nov 23, 2009, 3:37:12 PM11/23/09
to symfony-es
Tenias razón Edu, era mas facil de esa manera, y como en realidad por
url traía el nombre del grupo use el método que me dijiste.

Muchas gracias por tu ayuda!

Abrazo

On 23 nov, 05:52, eemece2 Eduardo Martinez <eeme...@gmail.com> wrote:
> Creo que deberias hacerlo en la acción, o en el modelo.
> Por ejemplo en la accion, cuando procesas el formulario (normalmente en
> processForm), guardas el usuario y tambien aplicas lo de :
>
> $user->addGroupByName('comercial');
>
> ... en caso de que pases como parametro el nombre de grupo. Pasando el id,
> como haces ahora, tendrias que usar otra funcion similar (que quizas tengas
> que crear tu, añadiendo un registro a sfGuardUserGroup).
>
> Te detallo mas si no lo ves claro.
>
> saludos!
> Edu
>
Reply all
Reply to author
Forward
0 new messages