]> git.ozlabs.org Git - patchwork/blobdiff - templates/patchwork/profile.html
Add email opt-out system
[patchwork] / templates / patchwork / profile.html
index 35f3d4ff3e3c04f90fe9c3e9d5038a3190ab4c04..130b94732500b657f6003ac3e15b26e502c0bf97 100644 (file)
@@ -1,4 +1,4 @@
-{% extends "patchwork/base.html" %}
+{% extends "base.html" %}
 
 {% block title %}User Profile: {{ user.username }}{% endblock %}
 {% block heading %}User Profile: {{ user.username }}{% endblock %}
@@ -22,84 +22,105 @@ Contributor to
 {% endif %}
 </p>
 
-<h2>Todo</h2>
+<div class="leftcol">
+<div class="box">
+ <h2>Todo</h2>
 {% if user.get_profile.n_todo_patches %}
-<p>Your <a href="{% url patchwork.views.user.todo_lists %}">todo
-list</a> contains {{ user.get_profile.n_todo_patches }}
-patch{{ user.get_profile.n_todo_patches|pluralize:"es" }}.</p>
+ <p>Your <a href="{% url patchwork.views.user.todo_lists %}">todo
+  list</a> contains {{ user.get_profile.n_todo_patches }}
+  patch{{ user.get_profile.n_todo_patches|pluralize:"es" }}.</p>
 {% else %}
-<p>Your todo list contains patches that have been delegated to you. You
-have no items in your todo list at present.</p>
+ <p>Your todo list contains patches that have been delegated to you. You
+  have no items in your todo list at present.</p>
 {% endif %}
-<h2>Bundles</h2>
-
-{% if bundles %}
-<table class="bundlelist">
- <tr>
-  <th>Bundle name</th>
-  <th>Patches</td>
-  <th>Public Link</th>
- </tr>
-{% for bundle in bundles %}
- <tr>
-  <td><a href="{% url patchwork.views.bundle.bundle bundle_id=bundle.id %}"
-   >{{ bundle.name }}</a></td>
-  <td style="text-align: right">{{ bundle.n_patches }}</td>
-  <td>
-   {% if bundle.public %}
-    <a href="{{ bundle.public_url }}">{{ bundle.public_url }}</a>
-   {% endif %}
-  </td>
- </tr>
-{% endfor %}
-</table>
-{% else %}
-<p>no bundles</p>
-{% endif %}
-
+</div>
 
+<div class="box">
 <h2>Linked email addresses</h2>
 <p>The following email addresses are associated with this patchwork account.
 Adding alternative addresses allows patchwork to group contributions that
-you have made under different addressses.</p>
+you have made under different addresses.</p>
+<p>The "notify?" column allows you to opt-in or -out of automated
+patchwork notification emails. Setting it to "no" will disable automated
+notifications for that address.</p>
 <p>Adding a new email address will send a confirmation email to that
 address.</p>
-<table class="vertical" style="width: 20em;">
+<table class="vertical">
  <tr>
   <th>email</th>
-  <th/>
- </tr>
- <tr>
-  <td>{{ user.email }}</td>
-  <td></td>
+  <th>action</th>
+  <th>notify?</th>
  </tr>
 {% for email in linked_emails %}
- {% ifnotequal email.email user.email %}
  <tr>
   <td>{{ email.email }}</td>
   <td>
-   {% ifnotequal user.email email.email %}
+  {% ifnotequal user.email email.email %}
    <form action="{% url patchwork.views.user.unlink person_id=email.id %}"
     method="post">
+    {% csrf_token %}
     <input type="submit" value="Unlink"/>
    </form>
     {% endifnotequal %}
+  </td>
+  <td>
+   {% if email.is_optout %}
+   <form method="post" action="{% url patchwork.views.mail.optin %}">
+    No,
+     {% csrf_token %}
+     <input type="hidden" name="email" value="{{email.email}}"/>
+     <input type="submit" value="Opt-in"/>
+    </form>
+   {% else %}
+    <form method="post" action="{% url patchwork.views.mail.optout %}">
+    Yes,
+     {% csrf_token %}
+     <input type="hidden" name="email" value="{{email.email}}"/>
+     <input type="submit" value="Opt-out"/>
+    </form>
+   {% endif %}
+  </td>
  </tr>
- {% endifnotequal %}
 {% endfor %}
  <tr>
-  <td colspan="2">
+  <td colspan="3">
    <form action="{% url patchwork.views.user.link %}" method="post">
+    {% csrf_token %}
     {{ linkform.email }}
     <input type="submit" value="Add"/>
    </form>
   </td>
  </tr>
 </table>
+</div>
+</div>
+
+<div class="rightcol">
 
+<div class="box">
+<h2>Bundles</h2>
+
+{% if bundles %}
+<p>You have the following bundle{{ bundle|length|pluralize }}:</p>
+<ul>
+{% for bundle in bundles %}
+ <li><a href="{% url patchwork.views.bundle.bundle bundle_id=bundle.id %}"
+   >{{ bundle.name }}</a></li>
+{% endfor %}
+</ul>
+<p>Visit the <a href="{%url patchwork.views.bundle.bundles %}">bundles
+ page</a> to manage your bundles.</p>
+{% else %}
+<p>You have no bundles.</p>
+{% endif %}
+</div>
+
+
+<div class="box">
 <h2>Settings</h2>
 
 <form method="post">
+ {% csrf_token %}
  <table class="form">
 {{ profileform }}
   <tr>
@@ -110,5 +131,15 @@ address.</p>
   </tr>
  </table>
 </form>
+</div>
+
+<div class="box">
+<h2>Authentication</h2>
+<a href="{% url django.contrib.auth.views.password_change %}">Change password</a>
+</div>
+
+</div>
+
+<p style="clear: both"></p>
 
 {% endblock %}