discourse/app/views/email/unsubscribe.html.erb
Roman Rizzi e0ba35350e
FEATURE: Custom unsubscribe options (#17090)
With this change, plugins can create custom unsubscribe keys, extend the unsubscribe view with custom preferences, and decide how they are updated.
2022-06-21 15:49:47 -03:00

101 lines
3.1 KiB
Plaintext

<div class='container unsubscribe'>
<%- if !@found || @different_user %>
<%if !@found %>
<p><%= t "unsubscribe.not_found_description" %></p>
<%- else %>
<p><%= t("unsubscribe.different_user_description").html_safe %></p>
<%= form_tag(session_path(id: current_user.username_lower), method: :delete) do %>
<%= hidden_field_tag(:return_url, @return_url) %>
<%= submit_tag t('unsubscribe.log_out'), class: 'btn btn-danger' %>
<%- end%>
<%- end %>
<%- else %>
<br/>
<h2><%= t 'unsubscribe.title'%> <%= @user.email %></h2>
<br/>
<%= form_tag(email_perform_unsubscribe_path(key: params[:key])) do %>
<%if @topic %>
<% if @watching_topic %>
<p>
<label>
<%= check_box_tag 'unwatch_topic', 1, true %>
<%= t('unsubscribe.stop_watching_topic', link: render_topic_title(@topic)).html_safe %>
</label>
</p>
<% else %>
<p>
<label>
<%= check_box_tag 'mute_topic', 1, true %>
<%= t('unsubscribe.mute_topic', link: render_topic_title(@topic)).html_safe %>
</label>
</p>
<% end %>
<% if @watched_count %>
<p>
<label>
<%= check_box_tag 'unwatch_category' %>
<%= t('unsubscribe.unwatch_category', category: category_badge(@topic.category, show_uncategorized: true)).html_safe %>
</label>
</p>
<% end %>
<% end %>
<% if @user.user_option.mailing_list_mode && !SiteSetting.disable_mailing_list_mode %>
<p>
<label>
<%= check_box_tag 'disable_mailing_list' %>
<%= t 'unsubscribe.mailing_list_mode' %>
</label>
</p>
<% end %>
<% if @digest_unsubscribe %>
<p>
<% if @digest_frequencies[:current] %>
<h3>
<% if @digest_frequencies[:current] == 'never' %>
<%= t('unsubscribe.digest_frequency.never_title') %>
<% else %>
<%= t(
'unsubscribe.digest_frequency.title',
frequency: t("unsubscribe.digest_frequency.#{@digest_frequencies[:current]}")
) %>
<% end %>
</h3>
<br/>
<% end %>
<label><%= t 'unsubscribe.digest_frequency.select_title' %></label>
<%=
select_tag :digest_after_minutes,
options_for_select(@digest_frequencies[:frequencies], @digest_frequencies[:selected]),
class: 'combobox'
%>
</p>
<% end %>
<%= server_plugin_outlet "unsubscribe_options" %>
<% unless @unsubscribed_from_all %>
<p>
<label>
<%= check_box_tag 'unsubscribe_all', 1, @type=="all" %>
<%= t 'unsubscribe.all', sitename: SiteSetting.title %>
</label>
</p>
<% end %>
<br/>
<% text = @type=='digest' ? t('unsubscribe.submit') : t('unsubscribe.title') %>
<%= submit_tag text, class: 'btn btn-danger' %>
<%- end %>
<%- end %>
</div>