Anonymous User only can subscribe to individual mail (versus digest)?

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Anonymous User only can subscribe to individual mail (versus digest)?

Coleen_Astalos
I noticed that if I'm not logged in (an anonymous or unregistered user), then if I subscribe to a forum I'm only given the option to subscribe to "All Topics" or "New Topics".  I'm not given the option for Digest or Individual mail.  That seems like a bug.

Coleen
Reply | Threaded
Open this post in threaded view
|

Re: Anonymous User only can subscribe to individual mail (versus digest)?

Coleen_Astalos
I looked at this for a while and couldn't find a way to give them the option to subscribe via digest or Individual mail.  Since the macro's are shared with the invitation to join the mailing list and the subscribe_by_code macro sets the subscription_type=INSTANT.  Other than duplicating a number of macros and separating out the anonymous subscription request on the web.

So I decided in my situation I could instead just to tell them they needed to login to subscribe.  So I updated the anonymouns_subscription_form macro to this:

 <override_macro name="anonymous_subscription_form">
    <div style="margin:1em 0">
        <t>Please <n.login_link.>log in</n.login_link.> first to subscribe via email</t>
            <script type="text/javascript">                 if (Nabble.isEmbedded) {                     var $l = $('#login-link');                     $l.attr('href', $l.attr('href') + '&nextUrl=/');                 }             </script>    </div>
</override_macro> 

It seems to work.
Reply | Threaded
Open this post in threaded view
|

Re: Anonymous User only can subscribe to individual mail (versus digest)?

Coleen_Astalos
How would I send them to the subscription page after they login?
Coleen
Reply | Threaded
Open this post in threaded view
|

Re: Anonymous User only can subscribe to individual mail (versus digest)?

Pedro
I don't think it is a good idea, but you can do it:
<override_macro name="login_page" requires="servlet">
    <n.set_var. name="error"><n.false/></n.set_var.>
    <n.if.is_submitted_form>
        <then>
            <n.do_login>
                <email><n.email_field.value/></email>
                <password><n.password_field.value/></password>
                <nextUrl><n.root_node.subscribe_path/></nextUrl>
            </n.do_login>
            <n.set_var. name="error"><n.true/></n.set_var.>
        </then>
    </n.if.is_submitted_form>
    <n.html>
        <head>
            <meta name="robots" content="noindex,nofollow"/>
            <n.title.><t>Login</t></n.title.>
            <n.email_field.focus/>
            <script type="text/javascript">
                var loginNextUrl = '<n.default. to="/"><n.nextUrl_field.value/></n.default.>';
            </script>
        </head>
        <body>
            <h1 class="weak-color"><t>Login</t></h1>

            <n.login_message/>

            <n.if.var name="error">
                <then.format_error
                    message="[t]Incorrect Login![/t]"
                    prompt="[t]Please re-enter your email/password and click Login.[/t]"
                />
            </n.if.var>

            <n.login_form/>
            <n.register_now_section/>
        </body>
    </n.html>
</override_macro>
My test forum.
Reply | Threaded
Open this post in threaded view
|

Re: Anonymous User only can subscribe to individual mail (versus digest)?

Coleen_Astalos
Maybe I didn't write this request very clearly.  When they try to subscribe and they're not logged in, I want them to login and then go back to the subscribe page to complete their subscription.  I do not want them to go to the subscription page every time they login (which is what I'm getting with this change).

This is how I modified the anonymous_subscription_form:

Is there something that I can put in the anonymous subscription page that takes them to the subscription page after they logged in?

It's not a big deal, would just be nice to leave them where they were instead of taking them to the main page.
-Coleen
Reply | Threaded
Open this post in threaded view
|

Re: Anonymous User only can subscribe to individual mail (versus digest)?

Pedro
Please, try this code:
<override_macro name="anonymous_subscription_form">
    <n.comment.>Do not let them subscribe unless logged in</n.comment.>
    <div style="margin:1em 0">
        <t>Please <n.login_link.>log in</n.login_link.> first to subscribe via email</t>
        <script type="text/javascript">
            var $l = $('#login-link');
            var subscribe = "/template/NamlServlet.jtp?macro=subscribe&node=<n.page_node.id/>";
            $l.attr('href', $l.attr('href') + "&nextUrl="+ encodeURIComponent(subscribe));
        </script>
    </div>
</override_macro>
My test forum.
Reply | Threaded
Open this post in threaded view
|

Re: Anonymous User only can subscribe to individual mail (versus digest)?

Coleen_Astalos
Works perfect!  Thanks.
Coleen