From ecabf31e54b9efcff69c0214654a5ea2a7c33f56 2016-07-09 13:14:31 From: Christopher Neugebauer <_@chrisjrn.com> Date: 2016-07-09 13:14:31 Subject: [PATCH] Assorted fixes (#47) * Invokes the site tree fix from previous fixes. * Adds a disclaimer noting that previous years’ accounts have not been carried over. Fixes #43 * Adds proposal type to the proposal summary page. Fixes #40 * Adds travel/accommodation assistance to the proposals page, but makes it only visible to speakers in the proposal, or review managers. Fixes #41. Fixes #42. * Reduces a lot of the whitespace in the header and footer. Fixes #44 * Proposals review page now shows information for every speaker on a proposal. Fixes #45 * Makes sure that non_field_errors are displayed by forms. Fixes #37 --- diff --git a/pinaxcon/monkey_patch.py b/pinaxcon/monkey_patch.py index a9d992585ccbc3e55cc7df28191f0cc2e6168dcc..fa66128c958a78abd09c35728a93c5b1a4c5ec5f 100644 --- a/pinaxcon/monkey_patch.py +++ b/pinaxcon/monkey_patch.py @@ -13,6 +13,7 @@ class MonkeyPatchMiddleware(object): def do_monkey_patch(): patch_speaker_profile_form() patch_accounts_to_send_bcc() + fix_sitetree_check_access_500s() # Remove this function from existence global do_monkey_patch diff --git a/pinaxcon/templates/_form_snippet.html b/pinaxcon/templates/_form_snippet.html index cb97f820441355809f07f1e170a3b9e3df010ff8..f8ca2d80e62a06302b7481d8566357f529eb3acf 100644 --- a/pinaxcon/templates/_form_snippet.html +++ b/pinaxcon/templates/_form_snippet.html @@ -1,5 +1,10 @@ {% load lca2017_tags %} +{% if form.non_field_errors %} + {{ form.non_field_errors }} +
+{% endif %} + {% for field in form %} {% if not field.is_hidden %}
diff --git a/pinaxcon/templates/account/login.html b/pinaxcon/templates/account/login.html index 14276fa4db73c08e1570079837fbe2b6b8b17c2f..79e749c101b1426b0bc7eec384efb8e2d91539f9 100644 --- a/pinaxcon/templates/account/login.html +++ b/pinaxcon/templates/account/login.html @@ -14,6 +14,10 @@ {% trans "Don't have an account?" %} {% trans "Sign up" %}

{% endif %} +

+ {% trans "Accounts from previous years have not been carried over to this site." %} + {% trans "You will need to create a new account for this year's site." %} +

{% csrf_token %} diff --git a/pinaxcon/templates/symposion/proposals/_proposal_fields.html b/pinaxcon/templates/symposion/proposals/_proposal_fields.html index 9c94a2c826900a64715433cf4b13367ebd799d3d..8ec66c8b776335464316b0dbc5a31da6796d7562 100644 --- a/pinaxcon/templates/symposion/proposals/_proposal_fields.html +++ b/pinaxcon/templates/symposion/proposals/_proposal_fields.html @@ -1,8 +1,12 @@ {% load i18n %} +{% load lca2017_tags %}

{% trans "Submitted by" %}

{{ proposal.speaker }}

+

{% trans "Proposal Type" %}

+

{{ proposal.kind.name|capfirst }}

+

{% trans "Target Audience" %}

{{ proposal.get_target_audience_display }} 

@@ -40,14 +44,48 @@

{% trans "Special Requirements" %}

{{ proposal.technical_requirements_html|safe }}
-

{% trans "Speaker Bio" %}

-
{{ proposal.speaker.biography_html|safe }} 
+ {% for speaker in proposal.speakers %} +

{% trans "Speaker:" %} {{ speaker.name }}

+
{% trans "Biography" %}
+ +
{{ proposal.speaker.biography_html|safe }} 
+ +
{% trans "Experience" %}
+
{{ proposal.speaker.experience_html|safe }} 
+ {% endfor %} + + {% if can_manage_proposal or request.user.speaker_profile in proposal.speakers %} -

{% trans "Speaker Experience" %}

-
{{ proposal.speaker.experience_html|safe }} 
+

{% trans "Assistance required?" %}

+
+ + + + + + + {% for speaker in proposal.speakers %} + + + + + + {% endfor %} +
{% trans "Travel" %}{% trans "Accommodation" %}
{{ speaker.name }}{{ speaker.travel_assistance }}{{ speaker.accommodation_assistance }}
+
+ + {% if proposal.speaker.accessibility_html %} +

{% trans "Speaker Accessibility Requirements" %}

+ {% for speaker in proposal.speakers %} + {% if speaker.accessibility_html %} +
{{ speaker.name }}
+
{{ speaker.accessibility_html|safe }} 
+ {% endif %} + {% endfor %} + {% endif %} + + {% endif %} -

{% trans "Speaker Accessibility Requirements" %}

-
{{ proposal.speaker.accessibility_html|safe }} 

{% trans "Documents" %}

diff --git a/pinaxcon/templatetags/lca2017_tags.py b/pinaxcon/templatetags/lca2017_tags.py index 9c10b4962df2cd28cc6913d63071677300c024ef..8861666d638d7a362768cec64a9ae40dcf4a563d 100644 --- a/pinaxcon/templatetags/lca2017_tags.py +++ b/pinaxcon/templatetags/lca2017_tags.py @@ -4,3 +4,16 @@ register = template.Library() @register.assignment_tag() def classname(ob): return ob.__class__.__name__ + +@register.simple_tag(takes_context=True) +def can_manage(context, proposal): + return proposal_permission(context, "manage", proposal) + +@register.simple_tag(takes_context=True) +def can_review(context, proposal): + return proposal_permission(context, "review", proposal) + +def proposal_permission(context, permname, proposal): + slug = proposal.kind.section.slug + perm = "reviews.can_%s_%s" % (permname, slug) + return context.request.user.has_perm(perm) diff --git a/static/src/lca2017/css/app.css b/static/src/lca2017/css/app.css index 29d8a89fd45d2eefc66f7f84ce1e0cbb6da15bdb..df428cd9da37f9052180db48ecd809441ebf3c2d 100644 --- a/static/src/lca2017/css/app.css +++ b/static/src/lca2017/css/app.css @@ -1375,7 +1375,7 @@ table.alt tr:not(:last-of-type) { @media (min-width: 48em) { .l-header { - margin-top: 6.25rem; + /*margin-top: 6.25rem; /* issue #44. We don't like this. */ } .l-header--menu-opener { display: none !important; @@ -1430,7 +1430,7 @@ table.alt tr:not(:last-of-type) { -ms-flex-direction: column; flex-direction: column; margin-top: 100px; - margin-top: 6.25rem; + margin-top: 3.25rem; padding: 50px 40px; padding: 3.125rem 40px; width: 100%; @@ -1466,7 +1466,8 @@ table.alt tr:not(:last-of-type) { @media (min-width: 48em) { .l-footer { - padding: 6.25rem 70px; + /*padding: 6.25rem 70px; /* issue #44 too much padding */ + padding: 3.25rem 70px; -ms-flex-direction: row; flex-direction: row; -ms-flex-pack: justify; @@ -1479,13 +1480,15 @@ table.alt tr:not(:last-of-type) { @media (min-width: 64em) { .l-footer { - padding: 6.25rem 160px; + /*padding: 6.25rem 160px; */ + padding: 3.25rem 160px; } } @media (min-width: 80em) { .l-footer { - padding: 6.25rem 200px; + /*padding: 6.25rem 200px;*/ + padding: 3.25rem 200px; } .l-footer--logo { margin-bottom: 0; @@ -1496,7 +1499,8 @@ table.alt tr:not(:last-of-type) { @media (min-width: 1946px) { .l-footer { - padding: 6.25rem auto; + padding: 3.25rem auto; + /*padding: 6.25rem auto;*/ } }