Auto Subscribe at Registration and/or being able to subscribe existing users to a Set

judib99 - February 12, 2008 - 22:39
Project:Autoresponder
Version:5.x-1.x-dev
Component:User interface
Category:feature request
Priority:normal
Assigned:Unassigned
Status:active
Description

Our Drupal site is actually a support portal for our home based travel agents. When they join our company they are invited to create a profile within our drupal installation. We need to send them a series of emails with the steps they need to take to get up and running as a new home based travel agent. This module is perfect!!!! Except for one thing - we really really need them to be automatically added to the New Agent Set when they register - it's ok that that funciton doesn't exist right now if there is a work around. But I have been unable to find any way as admin to subscribe my users. What am I missing? Just to recap I really need to be able to do one of the following as soon as possible:

1) have users automatically added to a set when they create a profile -OR -
2) as admin manually add them to a set when they create a profile

I welcome any suggestions - I am not a programmer but I not afraid to do hacks if I have detailed instructions.

Thanks much and great mod!!!

Judib99
www.cmtravelathome.com

#1

ench0 - April 4, 2008 - 00:33
Title:Auto Subscribe at Registration» Auto Subscribe at Registration and/or being able to subscribe existing users to a Set

I agree that this is very desired functionality. Adjusting the Title of the Issue to reflect the "being able to manually add existing users" part of the request.

I think the Auto-Subscribe at Registration would be best accomplished via a grayed checkbox with the Set in question preselected so that new users be unable to un-check it. Later on they should of course be able to unsubscribe from the set if they so desire...

P.S. Speaking of this - I was unable to find a way for a newly subscribed user to unsubscribe by just navigating the UI of the site. I was expecting to find this functionality under 'My account' but couldn't see it there. I think that this is a very serious omission, especially given all the privacy crunch going on lately. I will search the issues and raise a new on if I am unable to find one for this problem

#2

petya_vulcheva - May 16, 2008 - 07:59

Hi

All the users of my site have to be automatically subscribed or the admin subscribe them, but I don't know how to do this. I am now using simple news module for sending newsletters, but I was wondering is there any other that is more suitable. Can you help with that?

#3

shunshifu - February 24, 2009 - 22:23

Any progress on this or a potential workaround. I totally agree this is a much needed functionality.

This module in itself was much needed. I looked for something like this over a year ago and am happy to see some progress on it.

Anyway if anyone figures a way to subscribe a role to a set I would be very grateful to know how.

Thanks

Phil

#4

cyberpunk - February 26, 2009 - 09:28

Ok, this is a good feature request. I'll work on it. Thanks for the interest!

P.S. Sorry, but i can't give estimates because i have to much work right now...

#5

shunshifu - March 3, 2009 - 00:24

Can I add one more thing to this request.

It would be really great if when users moved between roles they were also automatically moved between lists.
Unsubscribed from one list and subscribed to another.

that would be great

Phil

#6

thiokol - March 5, 2009 - 00:41

Subscribing

#7

thiokol - June 3, 2009 - 14:37

any more progress on this?

#8

alberto56 - October 7, 2009 - 23:08

Hi,

first of all thanks for the module, it has been very helpful!

I ran into the same problem: needing to subscribe emails on registration. One problem is that the form validator and form submit functions actually insert the emails into the database. If we call these functions from another module (for example, an action to perform on subscribe), we have to simulate using an actual visual form, which can be clunky, and which can lead to error messages and other messages to appear on screen, which we don't necessarily want.

My solution: add a way to add users programmatically or through an API. This allows third party functions to access functionality in a consistent and documented manner without requiring a visual form or messing with the database directly.

Therefore I am submitting a patch which splits autoresponder_email_enter_form_submit() into two parts: the current autoresponder_email_enter_form_submit() which does what it always did, but I factored out of there the actual code to add stuff to the database. Hence a brand new, *documented* function which is called: autoresponder_add_user($email, $set). Just pass this function an email or array of emails, and an array of sets in the format array(2 => 2, 4 => 4 ... ). The function then returns any welcome messages to display or send to users (see patch).

If you want to add a@test.com, b@test.com and c@test.com into the system for sets 1 and 2, you can add the following code to your module:

  autoresponder_add_user(array('a@test.com', 'b@test.com', 'c@test.com'), array(1 => 1, 2 => 2));

Note that this patch does not actually add any functionality out of the box, but perhaps a third party module (or maybe the autoresponder module itself) might eventually use this new function, if the patch is approved, to add auto subscribe at registration (or allow admins to enter emails in an admin screen).

Of course, we might eventually want to have a function to *remove* or edit users programmatically, in order to provide full functionality to third party modules and bypass the provided visual interface entirely.

Specifically the patch does the following:

  • add some comments to autoresponder_email_enter_form_submit() to better explain what is happening
  • improve readability of the autoresponder_email_enter_form_submit() function by better following coding standards.
  • create the autoresponder_add_user() function, which actually adds the user. The advantage of this over autoresponder_email_enter_form_submit() is that autoresponder_add_user() can be called from anywhere (another module, for example), without requiring the presence of an actual form.
  • add some comments and code standards autoresponder_email_enter_form_validate().
  • create the autoresponder_email_subscribed_to_set() which factors part of what was previously done in autoresponder_email_enter_form_validate().

I am starting to use this patch to call autoresponder from a custom module I am using, and it seems to work. Hope it can help you, and let me know if you have any comments.

Cheers,

Albert.

AttachmentSize
add_user_api.patch 9.98 KB
 
 

Drupal is a registered trademark of Dries Buytaert.