At this point I'm going to need to see all the code to figure out what is going on. Can you zip up all the relevant files and attach?
We've moved the forum!
Please use forum.silverstripe.org for any new questions
(announcement).
The forum archive will stick around, but will be read only.
You can also use our Slack channel
or StackOverflow to ask for help.
Check out our community overview for more options to contribute.
- Previous 10 entries
- 1
- Page 22(current)
- 3
- Next 10 entries
Cool, thanks for the reply.
Files are attached, let me know if there is anything more you need.
Much appreciated
Does something like this in your onBeforeWrite() call work?
$group = new Group();
$group->Code = 'CMSMain';
$group->Title = $this->Title;
$group->write();
Permission::grant($group->ID, "CMSMain");
$member = new Member();
$member->FirstName = 'FirstName';
$member->Surname = 'Surname';
$member->Nickname = 'Nickname';
$member->Email = 'Email';
$member->Password = 'Password';
$member->write();
$member->Groups()->add($group);
$member->write();
$group->write();
Hi Dale,
Yeah the security group is being created, the only bit I'm having trouble with is asigning a member to a group. The members are created as new members in the member table, they just need to belong to a security group now.
Thanks
Well those accessors should be adding the. The one above has worked just fine for me on several projects.
$member->Groups()->add($group);
Or from the other end:
$group->Members()->add($member);
These do not work for you?
Hi Dale,
Thanks for getting back, and if my replies seem far apart apologies, my laptop is in the shop getting fixed so I've not had the usual daily access to the internet.
To answer the question, basically I have tried both of those accessors but to no avail. There must be something i am doing wrong, maybe its something stupid like a syntax error but I just can't see it.
That is very weird indeed. If your site is in Dev mode it should throw an error if those accessors aren't syntactically correct. I only have 2 more tricks up my sleeve;
1. Try running $member->Groups()->removeAll(); before you do the ->add($group);
2. Drop your Member table and /dev/build again. You'll loose your data but if it is a weird column or something getting it the way....start from scratch.
Hi Dale,
Thanks I'll try that and see if it works. So you think the code looks fine otherwise? And that would normally be the way to do something like this? I was worried that I had gone about things the wrong way, you know how you start to doubt yourself when things don't work?
Ok anyway I'll let you know the outcome
Cheers
- Previous 10 entries
- 1
- Page 22(current)
- 3
- Next 10 entries