Hi, If you have always sfDoctrineGuardPlugin installed, take a look at this file line 84 (savegroupsList method)
/lib/form/doctrine/sfDoctrineGuardPlugin/base/BasesGuardUserForm.class.php => $this->object->link('groups', array_values($link)); Fabien 2009/5/25 Campezzi <campe...@gmail.com>: > > Hi there! > > I'm getting started with sfDoctrineGuardPlugin and after doing a few > tutorials, I started to implement it in one of my projects. I have > created a registration form and embedded the Profile class form. So > far, so good - whenever a new user registers, both the sfGuardUser and > Profile objects get saved to the database and are correctly > associated. > > Now, I have a "users" sfGuardGroup with a set of permissions (its id > is 1), and I'd like to put all members who sign up via this > registration form automatically in this group. My first idea was to > override the save() method of the Profile model to do that: > > class Profile extends BaseProfile > { > public function save(Doctrine_Connection $conn = null) > { > $ret = parent::save($conn); > > $relation = new sfGuardUserGroup(); > $relation->user_id = $this->sf_guard_user_id; > $relation->group_id = 1; > $relation->save(); > > return $ret; > } > } > > However, when I try to add a new user through the form I get a SQL > error: > > SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry > '5-1' for key 'PRIMARY' > > ... where 5 is the id of the newly created sfGuardUser and 1 is the id > of the sfGuardGroup I'm trying to add the user to. Of course, I > checked the database and there are no other sfGuardUserGroup objects > with the 5-1 key combination, hence it's not a duplicate record thing. > > I tried searching around, but found nothing about this error other > than a few complaints about the save() method not being called on > objects saved through embedded forms. It seems that is the issue here > - I'm trying to create a many-to-many relation, but the user is not > yet saved to the database when I try saving the relation, so the > database throws an error because I'm adding a reference to an object > that does not exist. However, if that is really the problem, isn't it > weird that my profile actually has its sf_guard_user_id property set?! > > So, the 64.5 million dollar question: how do I get this to act like I > expect it to do? :) > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to symfony-users@googlegroups.com To unsubscribe from this group, send email to symfony-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en -~----------~----~----~----~------~----~------~--~---