From d06530c6174aa3652c85ae38ca067259dc9cfed1 Mon Sep 17 00:00:00 2001 From: Diane Trout Date: Tue, 6 Oct 2009 19:45:33 +0000 Subject: [PATCH] Add a bread crumb to the send started email page. I modified the base template to re-include the default place for a bread crumb, and added a bit of test code to make sure the bread crumb is actually present. --- .../experiments/fixtures/test_flowcells.json | 16 +++++++++++++ htsworkflow/frontend/experiments/models.py | 5 ++++ htsworkflow/frontend/experiments/tests.py | 13 ++++++++++ htsworkflow/frontend/experiments/views.py | 8 ++++--- htsworkflow/frontend/templates/base.html | 6 ++--- .../templates/experiments/email_preview.html | 24 +++++++++++++------ 6 files changed, 58 insertions(+), 14 deletions(-) diff --git a/htsworkflow/frontend/experiments/fixtures/test_flowcells.json b/htsworkflow/frontend/experiments/fixtures/test_flowcells.json index b744e2b..698813f 100644 --- a/htsworkflow/frontend/experiments/fixtures/test_flowcells.json +++ b/htsworkflow/frontend/experiments/fixtures/test_flowcells.json @@ -71,6 +71,22 @@ "date_joined": "2009-01-01 00:01:01" } }, + {"pk": 7, "model": "auth.user", + "fields": { + "username": "supertest", + "first_name": "", + "last_name": "", + "is_active": true, + "is_superuser": true, + "is_staff": true, + "last_login": "2009-01-01 00:00:01", + "groups": [], + "user_permissions": [], + "password": "sha1$foo$5e4eefec1144a04becfb7da79244f07c487fc345", + "email": "", + "date_joined": "2009-01-01 00:01:01" + } + }, {"pk": 1, "model": "experiments.clusterstation", "fields": {"name": "old"}}, {"pk": 2, "model": "experiments.clusterstation", "fields": {"name": "loaner"}}, {"pk": 3, "model": "experiments.clusterstation", "fields": {"name": "new"}}, diff --git a/htsworkflow/frontend/experiments/models.py b/htsworkflow/frontend/experiments/models.py index eafe06a..7fdf3f1 100755 --- a/htsworkflow/frontend/experiments/models.py +++ b/htsworkflow/frontend/experiments/models.py @@ -74,6 +74,11 @@ class FlowCell(models.Model): class Meta: ordering = ["-run_date"] + + def get_admin_url(self): + # that's the django way... except it didn't work + #return urlresolvers.reverse('admin_experiments_FlowCell_change', args=(self.id,)) + return '/admin/experiments/flowcell/%s/' % (self.id,) ### ----------------------- class DataRun(models.Model): diff --git a/htsworkflow/frontend/experiments/tests.py b/htsworkflow/frontend/experiments/tests.py index 8ad9534..f9b7527 100644 --- a/htsworkflow/frontend/experiments/tests.py +++ b/htsworkflow/frontend/experiments/tests.py @@ -1,3 +1,4 @@ +import re try: import json except ImportError, e: @@ -124,3 +125,15 @@ class TestEmailNotify(TestCase): self.failUnlessEqual(len(mail.outbox), 4) for m in mail.outbox: self.failUnless(len(m.body) > 0) + + def test_email_navigation(self): + """ + Can we navigate between the flowcell and email forms properly? + """ + self.client.login(username='supertest', password='BJOKL5kAj6aFZ6A5') + response = self.client.get('/experiments/started/153/') + self.failUnlessEqual(response.status_code, 200) + self.failUnless(re.search('Flowcell 303TUAAXX', response.content)) + # require that navigation back to the admin page exists + self.failUnless(re.search('[^<]+', response.content)) + diff --git a/htsworkflow/frontend/experiments/views.py b/htsworkflow/frontend/experiments/views.py index 3505a3b..e03c038 100755 --- a/htsworkflow/frontend/experiments/views.py +++ b/htsworkflow/frontend/experiments/views.py @@ -90,7 +90,7 @@ def startedEmail(request, pk): }) # build view - subject = "Flowcell %s" % ( fc.flowcell_id ) + subject = "Flowcell %s" % ( fc.flowcell_id ) body = email_template.render(context) if send: @@ -102,11 +102,13 @@ def startedEmail(request, pk): emails.append((user_email, subject, body, sending)) verify_context = Context({ - 'send': send, - 'warnings': warnings, 'emails': emails, + 'flowcell': fc, 'from': sender, + 'send': send, 'site_managers': settings.MANAGERS, + 'title': fc.flowcell_id, + 'warnings': warnings, }) return HttpResponse(email_verify.render(verify_context)) diff --git a/htsworkflow/frontend/templates/base.html b/htsworkflow/frontend/templates/base.html index b88d679..7f64055 100644 --- a/htsworkflow/frontend/templates/base.html +++ b/htsworkflow/frontend/templates/base.html @@ -1,8 +1,7 @@ {% load i18n %} - - {% if messages %} + {% if messages %} {% endif %} diff --git a/htsworkflow/frontend/templates/experiments/email_preview.html b/htsworkflow/frontend/templates/experiments/email_preview.html index cef7d06..9c35c6d 100644 --- a/htsworkflow/frontend/templates/experiments/email_preview.html +++ b/htsworkflow/frontend/templates/experiments/email_preview.html @@ -1,13 +1,24 @@ - - - - - +{% extends "base.html" %} +{% load i18n %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} +{% if warnings %} +

{% for user_admin_url, username in warnings %} Warning: User {{ username }} has no email address
{% endfor %} +{% endif %}

{% for to, subject, body, sending in emails %}
@@ -24,5 +35,4 @@ email address

- - +{% endblock %} \ No newline at end of file -- 2.30.2