I have the following use case:
An event is happening that most people buy registrations for. Yeah for uc_signup! But there are also a few people (3 or 4 per event) who are attending for free (or signed up via other means, or whatever). I'd like to be able to add them manually to the signup list so that it is a complete attendance record, but if I try to use the built-in "Add" button in signup it tells me that those users don't have permission to sign up (which they don't, of course). Is there anyway for an admin user to get around this?
(Related but separately: if there is a way to sign people up manually, can I give admins permission to sign up users without accounts -- just using name/email?)
Thanks!
| Comment | File | Size | Author |
|---|---|---|---|
| #9 | 719188.patch | 1.25 KB | ezra-g |
| #2 | admin_signup.png | 21.28 KB | leenwebb |
| #2 | permissions.png | 20.67 KB | leenwebb |
Comments
Comment #1
ezra-g commented"I'd like to be able to add them manually to the signup list so that it is a complete attendance record,"
Admins can already add users to an event with signup -- is that the administrative option you've already tried?
If that doesn't help, please re-open and post a screenshot or otherwise clarify which add button isn't working.
"can I give admins permission to sign up users without accounts "
For more, see #349228: Signup anonymous users without email and some discussion at http://drupal.org/node/628068#comment-2754478 .
Comment #2
leenwebb commentedHey ezra-g,
Thanks for the response -- just 3 minutes ago my client asked me about this again!
I've attached a screenshot of the signup admin screen. For the signup screen, I filled in the info (username and name) but was shown an error message "User does not have permission to sign up." I thought they weren't supposed to have permission because then they could accidentally sign up without paying?
I've also attached a picture of the permissions (in case I have something set incorrectly, which is entirely possible).
Thanks for the info about signing up anonymous users as well -- though I have since decided in this particular case I am OK with requiring everyone to be an existing user before signup. :)
Comment #3
maedi commentedThe username field is designed to take the username of an existing user. A slow solution would be to create an account for the attendee first, then enter this username in the "Add" form. Though I think the ability to create a new account for the new attendee then and there on that form would be a nifty feature - or maybe just entering an email into the signup form and having that count as a place.
Comment #4
leenwebb commentedI am not sure if #3 was directed at me -- the name "rhonda" IS an existing username in my example.
Comment #5
maedi commentedMy comment was directed at the initial post. I believe leenwebb is confused about the 'Add' forms current functionality, they believe that they can add anyone (not necessarily holding a Drupal account) to the event.
Comment #6
leenwebb commentedUm, nope -- that's not what I thought at all.
As I explained in #2 (with screenshots!) -- as an admin I filled in the name of an existing user ("rhonda", in the screenshot) and Name field, and was shown the error message "User does not have permission to sign up." As you can see from the error message, the word "rhonda" in the error message is linked to her user account page.
(The question of signing up anonymous users was separate, and also addressed in #2 : "I am OK with requiring everyone to be an existing user before signup.")
Comment #7
cwithout commentedThis is somewhat related as it would be an answer to the original poster's question (if there isn't one already).
It would be great if uc_signup had integration into the admin side of ubercart as well. Currently, if an admin creates an Ubercart order, the signup doesn't get processed. An admin would have to (assuming they can) add the signup as a separate step.
My clients have a large number of customers who walk in and want to sign up for an event. They use the back-end to create the orders manually.
I've done this for my clients by implementing hook_order and adding signups on the 'save' op and removing signups on the 'delete' op. For adding signups, I pretty much used the same code as in uc_signup_order, but with a few changes.
Comment #8
ezra-g commentedHi @leenwebb,
Thanks for the helpful screenshots. The behavior you're describing is a bug in Signup, in my view, since someone with administrative Signup permissions should be able to sign up users regardless of the permissions that those users have.
Please note that it is no longer necessary to deny users the 'sign up for content' permission in order to use uc_signup, as uc_signup will suppress the signup form automatically.
@chanes -- That's a great point. Please open a feature request for this type of order.
Comment #9
ezra-g commentedSince signup_form_validate_username() is called when $signup_type == admin, we know the user performing this action has administrative privileges over the signups on this node, so I think we can just remove this part of the validation.
Comment #10
ezra-g commentedThis is committed. http://drupal.org/cvs?commit=470372
Comment #11
ezra-g commented