Halfway through extending subscriptions by selectable unsubscription process. Also contains changes towards better handling of scenarios when address is already subscribed.

This commit is contained in:
Tomas Bures 2017-04-30 10:51:47 -04:00
parent b0d51c7dad
commit 3783d7c2ce
27 changed files with 727 additions and 431 deletions

View file

@ -26,11 +26,27 @@
<hr />
<div class="col-sm-offset-2">
<div class="checkbox">
<label>
<input type="checkbox" name="public_subscribe" value="1" {{#if publicSubscribe}} checked {{/if}}> {{#translate}}Allow public users to subscribe themselves{{/translate}}
</label>
<div class="form-group">
<label for="default_form" class="col-sm-2 control-label">{{#translate}}Subscription{{/translate}}</label>
<div class="col-sm-10">
<div class="checkbox">
<label>
<input type="checkbox" name="public_subscribe" value="1" {{#if publicSubscribe}} checked {{/if}}> {{#translate}}Allow public users to subscribe themselves{{/translate}}
</label>
</div>
</div>
</div>
<div class="form-group">
<label for="default_form" class="col-sm-2 control-label">{{#translate}}Unsubscription{{/translate}}</label>
<div class="col-sm-10">
<select class="form-control" id="unsubscription_mode" name="unsubscription_mode">
{{#each unsubscriptionModeOptions}}
<option value="{{value}}"{{#if selected}} selected{{/if}}>{{label}}</option>
{{/each}}
</select>
<span class="help-block">{{#translate}}Select how an unsuscription request by subscriber is handled.{{/translate}}</span>
</div>
</div>

View file

@ -56,11 +56,27 @@
<hr />
<div class="col-sm-offset-2">
<div class="checkbox">
<label>
<input type="checkbox" name="public_subscribe" value="1" {{#if publicSubscribe}} checked {{/if}}> {{#translate}}Allow public users to subscribe themselves{{/translate}}
</label>
<div class="form-group">
<label for="default_form" class="col-sm-2 control-label">{{#translate}}Subscription{{/translate}}</label>
<div class="col-sm-10">
<div class="checkbox">
<label>
<input type="checkbox" name="public_subscribe" value="1" {{#if publicSubscribe}} checked {{/if}}> {{#translate}}Allow public users to subscribe themselves{{/translate}}
</label>
</div>
</div>
</div>
<div class="form-group">
<label for="default_form" class="col-sm-2 control-label">{{#translate}}Unsubscription{{/translate}}</label>
<div class="col-sm-10">
<select class="form-control" id="unsubscription_mode" name="unsubscription_mode">
{{#each unsubscriptionModeOptions}}
<option value="{{value}}"{{#if selected}} selected{{/if}}>{{label}}</option>
{{/each}}
</select>
<span class="help-block">{{#translate}}Select how an unsuscription request by subscriber is handled.{{/translate}}</span>
</div>
</div>

View file

@ -46,11 +46,15 @@
<p>
<a href="/subscription/{{list.cid}}?fid={{form.id}}" target="_blank">{{#translate}}Subscribe{{/translate}}</a>
|
<a href="/subscription/{{list.cid}}/confirm-notice?fid={{form.id}}" target="_blank">{{#translate}}Confirm Notice{{/translate}}</a>
<a href="/subscription/{{list.cid}}/confirm-subscription-notice?fid={{form.id}}" target="_blank">{{#translate}}Confirm Subscription Notice{{/translate}}</a>
|
<a href="/subscription/{{list.cid}}/confirm-unsubscription-notice?fid={{form.id}}" target="_blank">{{#translate}}Confirm Unsubscription Notice{{/translate}}</a>
|
<a href="/subscription/{{list.cid}}/subscribed-notice?fid={{form.id}}" target="_blank">{{#translate}}Subscribed Notice{{/translate}}</a>
|
<a href="/subscription/{{list.cid}}/updated-notice?fid={{form.id}}" target="_blank">{{#translate}}Updated Notice{{/translate}}</a>
|
<a href="/subscription/{{list.cid}}/unsubscribe-notice?fid={{form.id}}" target="_blank">{{#translate}}Unsubscribed Notice{{/translate}}</a>
<a href="/subscription/{{list.cid}}/unsubscribed-notice?fid={{form.id}}" target="_blank">{{#translate}}Unsubscribed Notice{{/translate}}</a>
{{#if testUsers}}
|
<a href="/subscription/{{list.cid}}/manage/{{testUsers.0.cid}}?fid={{form.id}}" target="_blank">{{#translate}}Manage{{/translate}}</a>

View file

@ -68,7 +68,7 @@
<form class="form-inline" method="post" action="/lists/edit?next=%2Fforms%2F{{list.id}}">
<input type="hidden" name="_csrf" value="{{csrfToken}}">
<input type="hidden" name="id" value="{{list.id}}" />
<input type="hidden" name="name" value="{{list.name}}" />
<input type="hidden" name="customFormChangeOnly" value="1" />
<div class="form-group">
<label for="default_form" class="control-label" style="color: #666; font-weight: normal;">{{#translate}}The default form for this list is:{{/translate}}</label>

View file

@ -0,0 +1,24 @@
<mj-section>
<mj-column>
<mj-text mj-class="h3">
{{#translate}}Email address already subscribed{{/translate}}
</mj-text>
<mj-text mj-class="p">
{{#translate}}We have received a subscription request. Your email address is however already registered.{{/translate}}.
</mj-text>
<mj-text mj-class="p">
{{#translate}}If you received this email by mistake, simply delete it. Your existing subscription won't be affected.{{/translate}}
</mj-text>
<mj-text mj-class="p">
{{#translate}}If you want to modify your subscription then you can {{/translate}}
<a href="{{preferencesUrl}}">{{#translate}}manage your preferences{{/translate}}</a> {{#translate}}or{{/translate}} <a href="{{unsubscribeUrl}}">{{#translate}}unsubscribe here{{/translate}}</a>.
</mj-text>
<mj-button mj-class="button" href="{{homepage}}">
{{#translate}}Return to our website{{/translate}}
</mj-button>
<mj-text mj-class="p">
{{#translate}}For questions about this list, please contact:{{/translate}}
<br/><a href="mailto:{{contactAddress}}">{{contactAddress}}</a>
</mj-text>
</mj-column>
</mj-section>

View file

@ -0,0 +1,18 @@
{{{title}}}
{{#translate}}Email address already subscribed{{/translate}}
================================
{{#translate}}We have received a subscription request. Your email address is however already registered.{{/translate}}
{{#translate}}If you received this email by mistake, simply delete it. Your existing subscription won't be affected.{{/translate}}
{{#translate}}If you want to modify your subscription then you can:{{/translate}}
{{#translate}}manage your preferences{{/translate}}: {{preferencesUrl}}
- {{#translate}}or{{/translate}} -
{{#translate}}unsubscribe here{{/translate}}: {{unsubscribeUrl}}
{{#translate}}For questions about this list, please contact:{{/translate}}
{{{contactAddress}}}

View file

@ -0,0 +1,17 @@
<mj-section>
<mj-column>
<mj-text mj-class="h3">
{{#translate}}Please Confirm Subscription Address Change{{/translate}}
</mj-text>
<mj-button mj-class="button" href="{{confirmUrl}}">
{{#translate}}Yes, subscribe this email address to the list{{/translate}}
</mj-button>
<mj-text mj-class="p">
{{#translate}}If you received this email by mistake, simply delete it. You won't be subscribed if you don't click the confirmation link above.{{/translate}}
</mj-text>
<mj-text mj-class="p">
{{#translate}}For questions about this list, please contact:{{/translate}}
<br/><a href="mailto:{{contactAddress}}">{{contactAddress}}</a>
</mj-text>
</mj-column>
</mj-section>

View file

@ -0,0 +1,10 @@
{{{title}}}
{{#translate}}Please Confirm Subscription Address Change{{/translate}}
==========================================
{{#translate}}Yes, subscribe this email address to the list{{/translate}}: {{{confirmUrl}}}
{{#translate}}If you received this email by mistake, simply delete it. You won't be subscribed unless you click the confirmation link above.{{/translate}}
{{#translate}}For questions about this list, please contact:{{/translate}}
{{{contactAddress}}}

View file

@ -0,0 +1,17 @@
<mj-section>
<mj-column>
<mj-text mj-class="h3">
{{#translate}}Please Confirm Unsubscription{{/translate}}
</mj-text>
<mj-button mj-class="button" href="{{confirmUrl}}">
{{#translate}}Yes, unsubscribe me from this list{{/translate}}
</mj-button>
<mj-text mj-class="p">
{{#translate}}If you received this email by mistake, simply delete it. You won't be unsubscribed if you don't click the confirmation link above.{{/translate}}
</mj-text>
<mj-text mj-class="p">
{{#translate}}For questions about this list, please contact:{{/translate}}
<br/><a href="mailto:{{contactAddress}}">{{contactAddress}}</a>
</mj-text>
</mj-column>
</mj-section>

View file

@ -0,0 +1,10 @@
{{{title}}}
{{#translate}}Please Confirm Subscription{{/translate}}
===========================
{{#translate}}Yes, unsubscribe me from this list{{/translate}}: {{{confirmUrl}}}
{{#translate}}If you received this email by mistake, simply delete it. You won't be unsubscribed unless you click the confirmation link above.{{/translate}}
{{#translate}}For questions about this list, please contact:{{/translate}}
{{{contactAddress}}}

View file

@ -0,0 +1,13 @@
<mj-section>
<mj-column>
<mj-text mj-class="h3">
{{#translate}}Almost Finished{{/translate}}
</mj-text>
<mj-text mj-class="p">
{{#translate}}We need to confirm your email address. To complete the unsubscription process, please click the link in the email we just sent you.{{/translate}}
</mj-text>
<mj-button mj-class="button" href="{{homepage}}">
{{#translate}}Return to our website{{/translate}}
</mj-button>
</mj-column>
</mj-section>