diff --git a/symposion/templates/boxes/box.html b/symposion/templates/boxes/box.html
new file mode 100644
index 00000000..f4a33538
--- /dev/null
+++ b/symposion/templates/boxes/box.html
@@ -0,0 +1,32 @@
+{% load markitup_tags %}
+{% load i18n %}
+
+{% if form %}
+
+{% endif %}
+
+
+ {% if form %}
+
Edit this content
+ {% endif %}
+ {{ box.content|safe }}
+
diff --git a/symposion/templates/cms/page_detail.html b/symposion/templates/cms/page_detail.html
new file mode 100644
index 00000000..770eae29
--- /dev/null
+++ b/symposion/templates/cms/page_detail.html
@@ -0,0 +1,24 @@
+{% extends "site_base.html" %}
+
+{% load sitetree %}
+{% load i18n %}
+
+{% block body_class %}cms-page{% endblock %}
+
+{% block head_title %}{{ page.title }}{% endblock %}
+
+{% block breadcrumbs %}{% sitetree_breadcrumbs from "main" %}{% endblock %}
+
+{% block body %}
+ {% if editable %}
+
+ {% endif %}
+ {{ page.title }}
+
+
+ {{ page.body }}
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/symposion/templates/cms/page_edit.html b/symposion/templates/cms/page_edit.html
new file mode 100644
index 00000000..e361ecdf
--- /dev/null
+++ b/symposion/templates/cms/page_edit.html
@@ -0,0 +1,22 @@
+{% extends "site_base.html" %}
+
+{% load sitetree %}
+{% load i18n %}
+{% load bootstrap_tags %}
+
+{% block body_class %}cms-page{% endblock %}
+
+{% block head_title %}Create Page{% endblock %}
+
+{% block page_title %}{% trans "Edit page at:" %} {{ path }}{% endblock %}
+{% block breadcrumbs %}{% sitetree_breadcrumbs from "main" %}{% endblock %}
+
+{% block body %}
+
+{% endblock %}
\ No newline at end of file
diff --git a/symposion/templates/dashboard.html b/symposion/templates/dashboard.html
new file mode 100644
index 00000000..a969dbd4
--- /dev/null
+++ b/symposion/templates/dashboard.html
@@ -0,0 +1,239 @@
+{% extends "site_base.html" %}
+
+{% load i18n %}
+{% load proposal_tags %}
+{% load review_tags %}
+{% load teams_tags %}
+
+{% block head_title %}Dashboard{% endblock %}
+
+{% block body_class %}auth{% endblock %}
+
+{% block body %}
+
+
+
+
+ {% if not user.speaker_profile %}
+
To submit a proposal, you must first create a speaker profile.
+ {% else %}
+
Your Proposals
+ {% if user.speaker_profile.proposals.exists %}
+
+
+ Title |
+ Session type |
+ Status |
+ Actions |
+
+ {% for proposal in user.speaker_profile.proposals.all %}
+ {% include "proposals/_proposal_row.html" %}
+ {% endfor %}
+
+ {% else %}
+
No proposals submitted yet.
+ {% endif %}
+
+ {% associated_proposals as associated_proposals %}
+ {% if associated_proposals %}
+
Proposals you have joined as an additional speaker
+
+
+ Title |
+ Session type |
+ Status |
+ Actions |
+
+ {% for proposal in associated_proposals %}
+ {% include "proposals/_proposal_row.html" %}
+ {% endfor %}
+
+ {% endif %}
+
+ {% pending_proposals as pending_proposals %}
+ {% if pending_proposals %}
+
Proposals you have been invited to join
+
+
+ Title |
+ Session type |
+ Status |
+ Actions |
+
+ {% for proposal in pending_proposals %}
+ {% include "proposals/_pending_proposal_row.html" %}
+ {% endfor %}
+
+ {% endif %}
+ {% endif %}
+
+
+
+
+
+
+
+
+ {% if not user.sponsorships.exists %}
+
If you or your organization would be interested in sponsorship opportunities, use our online form to apply to be a sponsor.
+ {% else %}
+
Your Sponsorship
+
+ {% for sponsorship in user.sponsorships.all %}
+ -
+ {% if sponsorship.active %}
+ {{ sponsorship.name }}
+ ({{ sponsorship.level }})
+ {% else %}
+ {{ sponsorship.name }}
+ ({{ sponsorship.level }})
+ awaiting approval
+ {% endif %}
+
+ {% endfor %}
+
+ {% endif %}
+
+
+
+
+ {% if review_sections %}
+
+
+ {% user_reviews as user_reviews %}
+
+
Review Sections
+
+
+ {% for section in review_sections %}
+ - {{ section }}
+ {% endfor %}
+
+
+
Proposals you have reviewed
+
+
+ # |
+ Speaker / Title |
+ Your Vote |
+
+
+ {% for review in user_reviews %}
+
+ {{ review.proposal.number }} |
+
+ {{ review.proposal.speaker }}
+
+ {{ review.proposal.title }}
+ |
+ {{ review.vote }} |
+
+ {% endfor %}
+
+
+
+ {% comment %}
+
My Assignments
+
+
+ Proposal Title |
+ Score |
+
+
+
+ Title Three |
+ -1 |
+
+
+ Title Four |
+ +2 |
+
+
+
+ {% endcomment %}
+
+
+
+ {% endif %}
+
+ {% available_teams as available_teams %}
+ {% if user.memberships.exists or available_teams %}
+
+
+
+
+ {% if user.memberships.exists %}
+
Your Teams
+
+ {% for membership in user.memberships.all %}
+
+
+ {{ membership.team.name }}
+ {% if membership.team.description %} {{ membership.team.description }}{% endif %}
+ |
+
+ {{ membership.get_state_display }}
+ |
+
+ {% if membership.state == "manager" or user.is_staff %}
+ {% if membership.team.applicants %}{{ membership.team.applicants.count }} applicant{{ membership.team.applicants.count|pluralize }}{% endif %}
+ {% endif %}
+ |
+
+ {% endfor %}
+
+ {% endif %}
+ {% if available_teams %}
+
Available Teams
+
+ {% for team in available_teams %}
+
+
+ {{ team }}
+ {% if team.description %} {{ team.description }}{% endif %}
+ |
+
+ {{ team.get_access_display }}
+ |
+
+
+ {% endfor %}
+
+ {% endif %}
+
+
+ {% endif %}
+{% endblock %}
diff --git a/symposion/templates/emails/proposal_new_message/message.html b/symposion/templates/emails/proposal_new_message/message.html
new file mode 100644
index 00000000..90bbd8c8
--- /dev/null
+++ b/symposion/templates/emails/proposal_new_message/message.html
@@ -0,0 +1,11 @@
+{% load account_tags %}
+
+ {% user_display message.user %} has added a message on {{ proposal.title }}.
+
+
+ {{ message.message|safe }}
+
+
+ {% if reviewer %}{% url review_detail proposal.pk as detail_url %}{% else %}{% url proposal_detail proposal.pk as detail_url %}{% endif %}
+ Respond online at http://{{ current_site }}{{ detail_url }}#proposal-feedback
+
\ No newline at end of file
diff --git a/symposion/templates/emails/proposal_new_message/subject.txt b/symposion/templates/emails/proposal_new_message/subject.txt
new file mode 100644
index 00000000..4d5d805d
--- /dev/null
+++ b/symposion/templates/emails/proposal_new_message/subject.txt
@@ -0,0 +1 @@
+{% load account_tags %}New message on "{{ proposal.title }}" from {% user_display message.user %}
\ No newline at end of file
diff --git a/symposion/templates/emails/speaker_addition/message.html b/symposion/templates/emails/speaker_addition/message.html
new file mode 100644
index 00000000..dff0c7ba
--- /dev/null
+++ b/symposion/templates/emails/speaker_addition/message.html
@@ -0,0 +1,6 @@
+{{ proposal.speaker.name }} attached you as an additional speaker to a
+ talk proposal for {{ current_site.name }} entitled "{{ proposal.title }}".
+
+For more details, visit the {{ current_site.name }} speaker dashboard:
+ http://{{ current_site }}{% url dashboard %}
+
diff --git a/symposion/templates/emails/speaker_addition/subject.txt b/symposion/templates/emails/speaker_addition/subject.txt
new file mode 100644
index 00000000..778d07e9
--- /dev/null
+++ b/symposion/templates/emails/speaker_addition/subject.txt
@@ -0,0 +1 @@
+{{ proposal.speaker.name }} has invited you to join as a speaker on {{ proposal.title }}
diff --git a/symposion/templates/emails/speaker_invite/message.html b/symposion/templates/emails/speaker_invite/message.html
new file mode 100644
index 00000000..5ab2c2e8
--- /dev/null
+++ b/symposion/templates/emails/speaker_invite/message.html
@@ -0,0 +1,10 @@
+{{ proposal.speaker.name }} attached you as an additional speaker to a
+ talk proposal for {{ current_site.name }} entitled "{{ proposal.title }}".
+
+Go to
+
+http://{{ current_site }}{% url speaker_create_token token %}
+
+to confirm.
+
+If you don't have account on the website, you will be asked to create one.
diff --git a/symposion/templates/emails/speaker_invite/subject.txt b/symposion/templates/emails/speaker_invite/subject.txt
new file mode 100644
index 00000000..778d07e9
--- /dev/null
+++ b/symposion/templates/emails/speaker_invite/subject.txt
@@ -0,0 +1 @@
+{{ proposal.speaker.name }} has invited you to join as a speaker on {{ proposal.title }}
diff --git a/symposion/templates/emails/speaker_no_profile/message.html b/symposion/templates/emails/speaker_no_profile/message.html
new file mode 100644
index 00000000..14007092
--- /dev/null
+++ b/symposion/templates/emails/speaker_no_profile/message.html
@@ -0,0 +1,8 @@
+{{ proposal.speaker.name }} attached you as an additional speaker to a
+ talk proposal for {{ current_site.name }} entitled "{{ proposal.title }}".
+
+Go to
+
+http://{{ current_site }}{% url speaker_create_token token %}
+
+to confirm and fill out your speaker profile.
diff --git a/symposion/templates/emails/speaker_no_profile/subject.txt b/symposion/templates/emails/speaker_no_profile/subject.txt
new file mode 100644
index 00000000..778d07e9
--- /dev/null
+++ b/symposion/templates/emails/speaker_no_profile/subject.txt
@@ -0,0 +1 @@
+{{ proposal.speaker.name }} has invited you to join as a speaker on {{ proposal.title }}
diff --git a/symposion/templates/emails/sponsor_signup/message.html b/symposion/templates/emails/sponsor_signup/message.html
new file mode 100644
index 00000000..8d982a64
--- /dev/null
+++ b/symposion/templates/emails/sponsor_signup/message.html
@@ -0,0 +1,9 @@
+{{ sponsor.name }} has applied to be a sponsor.
+
+
+ - Applicant: {{ sponsor.applicant }}
+ - Sponsor Name: {{ sponsor.name }}
+ - Sponsor Contact: {{ sponsor.contact_name }}
+ - Sponsor Contact Email: {{ sponsor.contact_email }}
+ - Sponsorship Level: {{ sponsor.level }}
+
diff --git a/symposion/templates/emails/sponsor_signup/subject.txt b/symposion/templates/emails/sponsor_signup/subject.txt
new file mode 100644
index 00000000..4e65099f
--- /dev/null
+++ b/symposion/templates/emails/sponsor_signup/subject.txt
@@ -0,0 +1 @@
+New Sponsor Application
\ No newline at end of file
diff --git a/symposion/templates/emails/teams_user_applied/message.html b/symposion/templates/emails/teams_user_applied/message.html
new file mode 100644
index 00000000..b05d6c8b
--- /dev/null
+++ b/symposion/templates/emails/teams_user_applied/message.html
@@ -0,0 +1,12 @@
+{% load i18n account_tags %}
+{% user_display user as username %}
+{% blocktrans with team_name=team team_url=team.get_absolute_url site_name=current_site.name site_url=current_site %}
+
+ User "{{ username }}" has applied to join {{ team_name }} on {{ site_name }}.
+
+
+
+ To accept this application and see any other pending applications, visit the following url:
+ http://{{ site_url }}{{ team_url }}
+
+{% endblocktrans %}
diff --git a/symposion/templates/emails/teams_user_applied/subject.txt b/symposion/templates/emails/teams_user_applied/subject.txt
new file mode 100644
index 00000000..84b29384
--- /dev/null
+++ b/symposion/templates/emails/teams_user_applied/subject.txt
@@ -0,0 +1 @@
+{% load i18n account_tags %}{% user_display user as username %}{% blocktrans %}{{ username}} has applied to to join "{{ team }}"{% endblocktrans %}
\ No newline at end of file
diff --git a/symposion/templates/emails/teams_user_invited/message.html b/symposion/templates/emails/teams_user_invited/message.html
new file mode 100644
index 00000000..b498d247
--- /dev/null
+++ b/symposion/templates/emails/teams_user_invited/message.html
@@ -0,0 +1,12 @@
+{% load i18n account_tags %}
+
+{% blocktrans with team_name=team team_url=team.get_absolute_url site_name=current_site.name site_url=current_site %}
+
+ You have been invited to join {{ team_name }} on {{ site_name }}.
+
+
+
+ To accept this invitation, visit the following url:
+ http://{{ site_url }}{{ team_url }}
+
+{% endblocktrans %}
\ No newline at end of file
diff --git a/symposion/templates/emails/teams_user_invited/subject.txt b/symposion/templates/emails/teams_user_invited/subject.txt
new file mode 100644
index 00000000..434412bc
--- /dev/null
+++ b/symposion/templates/emails/teams_user_invited/subject.txt
@@ -0,0 +1 @@
+{% load i18n %}{% blocktrans %}You have been invited to join "{{ team }}"{% endblocktrans %}
\ No newline at end of file
diff --git a/symposion/templates/proposals/_pending_proposal_row.html b/symposion/templates/proposals/_pending_proposal_row.html
new file mode 100644
index 00000000..5214d1aa
--- /dev/null
+++ b/symposion/templates/proposals/_pending_proposal_row.html
@@ -0,0 +1,38 @@
+
+
+ {{ proposal.title }}
+ |
+
+ {{ proposal.kind.name }} |
+
+
+ {% if proposal.cancelled %}
+ Cancelled
+ {% else %}
+ {% if request.user == proposal.speaker.user %}
+ {% if proposal.result.accepted %}
+ Accepted
+ {% else %}
+ Submitted
+ {% endif %}
+ {% else %}
+ Invited
+ {% endif %}
+ {% endif %}
+ |
+
+
+ {% if not proposal.cancelled %}
+
+ {% endif %}
+ |
+
diff --git a/symposion/templates/proposals/_proposal_fields.html b/symposion/templates/proposals/_proposal_fields.html
new file mode 100644
index 00000000..64a23557
--- /dev/null
+++ b/symposion/templates/proposals/_proposal_fields.html
@@ -0,0 +1,41 @@
+{% load i18n %}
+
+
+ - {% trans "Submitted by" %}
+ - {{ proposal.speaker }}
+
+ - {% trans "Track" %}
+ - {{ proposal.track }}
+
+ {% if proposal.additional_speakers.all %}
+ - {% trans "Additional Speakers" %}
+ -
+ {% for speaker in proposal.additional_speakers.all %}
+
-
+ {% if speaker.user %}
+ {{ speaker.name }} >{{ speaker.email }}<
+ {% else %}
+ {{ speaker.email }} ({% trans "Invitation Sent" %})
+ {% endif %}
+
+ {% endfor %}
+
+ {% endif %}
+
+ - {% trans "Description" %}
+ - {{ proposal.description }}
+
+ - {% trans "Abstract" %}
+ - {{ proposal.abstract|safe }}
+
+ - {% trans "Notes" %}
+ - {{ proposal.additional_notes|safe }}
+
+ - {% trans "Audience Level" %}
+ - {{ proposal.get_audience_level_display }}
+
+ {% if request.user == proposal.speaker.user %}
+ - {% trans "Private Notes" %}
+ - {{ proposal.additional_notes }}
+ {% endif %}
+
diff --git a/symposion/templates/proposals/_proposal_row.html b/symposion/templates/proposals/_proposal_row.html
new file mode 100644
index 00000000..c214e521
--- /dev/null
+++ b/symposion/templates/proposals/_proposal_row.html
@@ -0,0 +1,32 @@
+
+
+ {{ proposal.title }}
+ |
+
+ {{ proposal.kind.name }} |
+
+
+ {% if proposal.cancelled %}
+ Cancelled
+ {% else %}
+ {% if request.user == proposal.speaker.user %}
+ {% if proposal.result.accepted %}
+ Accepted
+ {% else %}
+ Submitted
+ {% endif %}
+ {% else %}
+ Associated
+ {% endif %}
+ {% endif %}
+ |
+
+
+ {% if not proposal.cancelled %}
+ {% if request.user == proposal.speaker.user and proposal.can_edit %}
+ Edit
+ Manage Additional Speakers
+ {% endif %}
+ {% endif %}
+ |
+
diff --git a/symposion/templates/proposals/base.html b/symposion/templates/proposals/base.html
new file mode 100644
index 00000000..6d9b05dc
--- /dev/null
+++ b/symposion/templates/proposals/base.html
@@ -0,0 +1,5 @@
+{% extends "site_base_onecolumn.html" %}
+
+{% block body_outer %}
+ {% block body %}{% endblock %}
+{% endblock %}
diff --git a/symposion/templates/proposals/document_create.html b/symposion/templates/proposals/document_create.html
new file mode 100644
index 00000000..ffdcf96f
--- /dev/null
+++ b/symposion/templates/proposals/document_create.html
@@ -0,0 +1,17 @@
+{% extends "proposals/base.html" %}
+
+{% load bootstrap_tags %}
+
+{% block page_title %}Upload Document to '{{ proposal.title }}'{% endblock %}
+
+{% block body %}
+
+{% endblock %}
diff --git a/symposion/templates/proposals/proposal_cancel.html b/symposion/templates/proposals/proposal_cancel.html
new file mode 100644
index 00000000..ebe9b98a
--- /dev/null
+++ b/symposion/templates/proposals/proposal_cancel.html
@@ -0,0 +1,16 @@
+{% extends "proposals/base.html" %}
+
+{% load bootstrap_tags %}
+
+{% block head_title %}Cancel Proposal{% endblock %}
+
+{% block body %}
+ Cancel: {{ proposal.title }}
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/symposion/templates/proposals/proposal_detail.html b/symposion/templates/proposals/proposal_detail.html
new file mode 100644
index 00000000..59805ab2
--- /dev/null
+++ b/symposion/templates/proposals/proposal_detail.html
@@ -0,0 +1,119 @@
+{% extends "site_base.html" %}
+
+{% load i18n %}
+{% load account_tags %}
+{% load bootstrap_tags %}
+
+{% block head_title %}{{ proposal.title }}{% endblock %}
+
+{% block body %}
+
+
+ #{{ proposal.number }}: {{ proposal.title }} ({{ proposal.speaker }}, Track: {{ proposal.track }})
+
+
+
+
+
+ {% include "proposals/_proposal_fields.html" %}
+
+ {% if request.user == proposal.speaker.user %}
+
+
Supporting Documents
+
+ {% if proposal.supporting_documents.exists %}
+
+ {% else %}
+
No supporting documents attached to this proposal.
+ {% endif %}
+
Add Document
+
+ {% endif %}
+
+ {% if message_form %}
+
+
+
Conversation with Reviewers
+
+ {% for message in proposal.messages.all %}
+
+
+
{% user_display user %} {{ message.submitted_at|timesince }} ago
+
+
+ {% endfor %}
+
+
Leave a Message
+
+
You can leave a message for the reviewers here.
+
+
+
+ {% endif %}
+
+
+{% endblock %}
+
+{% block extra_script %}
+
+
+{% endblock extra_script %}
diff --git a/symposion/templates/proposals/proposal_edit.html b/symposion/templates/proposals/proposal_edit.html
new file mode 100644
index 00000000..f5b6ef06
--- /dev/null
+++ b/symposion/templates/proposals/proposal_edit.html
@@ -0,0 +1,23 @@
+{% extends "site_base.html" %}
+
+{% load bootstrap_tags %}
+{% load markitup_tags %}
+
+{% block head_title %}Editing {{ proposal.title }}{% endblock %}
+
+{% block body %}
+ Edit: {{ proposal.title }}
+
+ Manage speakers
+
+
+{% endblock %}
diff --git a/symposion/templates/proposals/proposal_speaker_manage.html b/symposion/templates/proposals/proposal_speaker_manage.html
new file mode 100644
index 00000000..f4bc17c5
--- /dev/null
+++ b/symposion/templates/proposals/proposal_speaker_manage.html
@@ -0,0 +1,37 @@
+{% extends "proposals/base.html" %}
+
+{% load bootstrap_tags %}
+
+{% block body %}
+ Proposal: {{ proposal.title }}
+
+ Edit proposal
+
+ Current Speakers
+
+ {% for speaker in speakers %}
+ {% if speaker.user %}
+ {{ speaker.name }} — {{ speaker.email }}
+ {% else %}
+ {{ speaker.email }} — pending invitation
+ {% endif %}
+ {% endfor %}
+
+ Add another speaker
+
+
+{% endblock %}
+
+{% block extra_body %}
+
+{% endblock %}
\ No newline at end of file
diff --git a/symposion/templates/proposals/proposal_submit.html b/symposion/templates/proposals/proposal_submit.html
new file mode 100644
index 00000000..0a1b34e5
--- /dev/null
+++ b/symposion/templates/proposals/proposal_submit.html
@@ -0,0 +1,22 @@
+{% extends "proposals/base.html" %}
+
+{% load boxes_tags %}
+{% load i18n %}
+
+{% block page_title %}{% trans "Submit A Proposal" %}{% endblock %}
+
+{% block body %}
+ {% box "proposal_submit" %}
+
+ {% if kinds %}
+ Select what kind of proposal you'd like to submit:
+
+
+ {% for kind in kinds %}
+ - {{ kind }}
+ {% endfor %}
+
+ {% else %}
+ Proposals are not currently open for submission.
+ {% endif %}
+{% endblock %}
diff --git a/symposion/templates/proposals/proposal_submit_kind.html b/symposion/templates/proposals/proposal_submit_kind.html
new file mode 100644
index 00000000..bd8cb92d
--- /dev/null
+++ b/symposion/templates/proposals/proposal_submit_kind.html
@@ -0,0 +1,27 @@
+{% extends "proposals/base.html" %}
+
+{% load bootstrap_tags %}
+{% load boxes_tags %}
+{% load markitup_tags %}
+{% load i18n %}
+
+{% block page_title %}Submit a Proposal for a {{ kind.name }}{% endblock %}
+
+{% block body %}
+ {% box "example_proposal" %}
+
+
+{% endblock %}
diff --git a/symposion/templates/reviews/_review_table.html b/symposion/templates/reviews/_review_table.html
new file mode 100644
index 00000000..adc68950
--- /dev/null
+++ b/symposion/templates/reviews/_review_table.html
@@ -0,0 +1,35 @@
+{% load i18n %}
+
+
+
+ # |
+ {% trans "Speaker / Title" %} |
+ {% trans "Category" %} |
+ |
+ {% trans "+1" %} |
+ {% trans "+0" %} |
+ {% trans "-0" %} |
+ {% trans "-1" %} |
+
+
+
+ {% for proposal in proposals %}
+
+ {{ proposal.number }} |
+
+
+ {{ proposal.speaker }}
+
+ {{ proposal.title }}
+
+ |
+ {{ proposal.track }} |
+ {{ proposal.comment_count }} |
+ {{ proposal.plus_one }} |
+ {{ proposal.plus_zero }} |
+ {{ proposal.minus_zero }} |
+ {{ proposal.minus_one }} |
+
+ {% endfor %}
+
+
diff --git a/symposion/templates/reviews/access_not_permitted.html b/symposion/templates/reviews/access_not_permitted.html
new file mode 100644
index 00000000..225d05e0
--- /dev/null
+++ b/symposion/templates/reviews/access_not_permitted.html
@@ -0,0 +1,10 @@
+{% extends "reviews/base.html" %}
+
+{% block body %}
+ Access Not Permitted
+
+
+ Sorry, you do not have permission to access this page. If you
+ believe this is a bug, please contact us immediately.
+
+{% endblock %}
diff --git a/symposion/templates/reviews/base.html b/symposion/templates/reviews/base.html
new file mode 100644
index 00000000..352fb423
--- /dev/null
+++ b/symposion/templates/reviews/base.html
@@ -0,0 +1,218 @@
+{% extends "site_base.html" %}
+
+{% load i18n %}
+{% load sitetree %}
+
+{% block extra_style %}
+
+{% endblock %}
+
+{% block body_class %}reviews{% endblock %}
+
+{% block body_base %}
+
+
+ {% include "_messages.html" %}
+
+ {% block breadcrumbs %}
+ {% sitetree_breadcrumbs from "main" %}
+ {% endblock %}
+
+
+
+ {% block sidebar %}
+
+ {% endblock %}
+
+
+ {% block body %}
+ {% endblock %}
+
+
+
+{% endblock %}
+
+{% block extra_script %}
+
+
+{% endblock %}
diff --git a/symposion/templates/reviews/review_admin.html b/symposion/templates/reviews/review_admin.html
new file mode 100644
index 00000000..1e762416
--- /dev/null
+++ b/symposion/templates/reviews/review_admin.html
@@ -0,0 +1,56 @@
+{% extends "reviews/base.html" %}
+
+{% block body %}
+ Reviewers
+
+
+
+
+ Reviewer
+ |
+
+ Proposals Reviewed
+
+ |
+ Comments
+ |
+
+ +1
+ |
+
+ +0
+ |
+
+ −0
+ |
+
+ −1
+ |
+
+ {% for reviewer in reviewers %}
+
+
+ {{ reviewer.get_full_name }}
+ |
+
+ {{ reviewer.total_votes }}
+ |
+
+ {{ reviewer.comment_count }}
+ |
+
+ {{ reviewer.plus_one }}
+ |
+
+ {{ reviewer.plus_zero }}
+ |
+
+ {{ reviewer.minus_zero }}
+ |
+
+ {{ reviewer.minus_one }}
+ |
+
+ {% endfor %}
+
+{% endblock %}
diff --git a/symposion/templates/reviews/review_assignment.html b/symposion/templates/reviews/review_assignment.html
new file mode 100644
index 00000000..8bcc1fef
--- /dev/null
+++ b/symposion/templates/reviews/review_assignment.html
@@ -0,0 +1,32 @@
+{% extends "reviews/base.html" %}
+
+{% block body %}
+ Review Assignments
+
+ {% if assignments %}
+
+ {% else %}
+ You do not have any assignments.
+ {% endif %}
+{% endblock %}
diff --git a/symposion/templates/reviews/review_bulk_accept.html b/symposion/templates/reviews/review_bulk_accept.html
new file mode 100644
index 00000000..cd8b0282
--- /dev/null
+++ b/symposion/templates/reviews/review_bulk_accept.html
@@ -0,0 +1,17 @@
+{% extends "reviews/base.html" %}
+
+{% load uni_form_tags %}
+
+{% block body %}
+
+ Bulk Accept
+
+{% endblock %}
diff --git a/symposion/templates/reviews/review_comment.html b/symposion/templates/reviews/review_comment.html
new file mode 100644
index 00000000..d7fa96a4
--- /dev/null
+++ b/symposion/templates/reviews/review_comment.html
@@ -0,0 +1,2 @@
+{{ proposal }}: proposal obj
+{{ form }}: comment form obj
diff --git a/symposion/templates/reviews/review_detail.html b/symposion/templates/reviews/review_detail.html
new file mode 100644
index 00000000..6abba757
--- /dev/null
+++ b/symposion/templates/reviews/review_detail.html
@@ -0,0 +1,167 @@
+{% extends "reviews/base.html" %}
+
+{% load i18n %}
+{% load markitup_tags %}
+{% load bootstrap_tags %}
+{% load account_tags %}
+
+{% block extra_style %}
+
+
+{% endblock %}
+
+{% block body %}
+ {% comment %}
+
+
+
+ {% endcomment %}
+
+ #{{ proposal.number }}: {{ proposal.title }} ({{ proposal.speaker }}, Track: {{ proposal.track }})
+
+
+
+
+
+ {% include "proposals/_proposal_fields.html" %}
+
+
+
+
{% trans "Current Results" %}
+
+
+ +1 votes |
+ +0 votes |
+ -0 votes |
+ -1 votes |
+ {% trans "Total Responses" %}
+ |
+
+
+ {{ proposal.plus_one }} |
+ {{ proposal.plus_zero }} |
+ {{ proposal.minus_zero }} |
+ {{ proposal.minus_one }} |
+ {{ proposal.total_votes }} |
+
+
+
+
+
+
+ {% if review_form %}
+
+ {% else %}
+
You do not have permission to vote on this proposal.
+ {% endif %}
+
+ {% if reviews %}
+
Review Comments
+ {% for review in reviews %}
+
+
+ {{ review.vote }}
+
+
+
+ {% if review.user.speaker_profile %}
+ {{ review.user.speaker_profile }}
+ {% else %}
+ {% user_display review.user %}
+ {% endif %} {{ review.submitted_at|timesince }} ago
+ {{ review.comment|safe }}
+
+
+ {% endfor %}
+ {% endif %}
+
+ {% markitup_media "no-jquery" %}
+
+
+
+ {% if review_messages %}
+
+
+
{% trans "Conversation with the submitter" %}
+ {% for message in review_messages %}
+
+ {% endfor %}
+ {% endif %}
+
+
+
+{% endblock %}
+
+{% block extra_script %}
+
+
+
+{% endblock %}
diff --git a/symposion/templates/reviews/review_list.html b/symposion/templates/reviews/review_list.html
new file mode 100644
index 00000000..72592bc9
--- /dev/null
+++ b/symposion/templates/reviews/review_list.html
@@ -0,0 +1,5 @@
+{% extends "reviews/base.html" %}
+
+{% block body %}
+ {% include "reviews/_review_table.html" %}
+{% endblock %}
\ No newline at end of file
diff --git a/symposion/templates/reviews/review_review.html b/symposion/templates/reviews/review_review.html
new file mode 100644
index 00000000..2168e899
--- /dev/null
+++ b/symposion/templates/reviews/review_review.html
@@ -0,0 +1,80 @@
+{% extends "site_base.html" %}
+
+{% load markitup_tags %}
+{% load uni_form_tags %}
+
+{% block body_class %}review{% endblock %}
+
+{% block body %}
+ Proposal Review
+
+
+
{{ proposal.title }}
+
+
+ {% if proposal.cancelled %}
+ Cancelled
+ {% endif %}
+
+
+
+ {{ proposal.description }}
+
+
+
Type: {{ proposal.get_session_type_display }}
+
+
Abstract
+
+ {{ proposal.abstract_html|safe }}
+
+
+
Audience level: {{ proposal.get_audience_level_display }}
+
+
Submitting speaker: {{ proposal.speaker }}
{# @@@ bio? #}
+
+ {% if proposal.additional_speakers.all %}
+
Additional speakers:
+
+ {% for speaker in proposal.additional_speakers.all %}
+ {% if speaker.user %}
+ - {{ speaker.name }} — {{ speaker.email }}
+ {% else %}
+ - {{ speaker.email }} — pending invitation
+ {% endif %}
+ {% endfor %}
+
+ {% endif %}
+
+
Additional Notes (private from submitter)
+
+ {{ proposal.additional_notes }}
+
+
+
+ {% markitup_media %}
+
+ Review
+
+
+
+ Comment
+
+
+
+{% endblock %}
diff --git a/symposion/templates/reviews/review_stats.html b/symposion/templates/reviews/review_stats.html
new file mode 100644
index 00000000..cde67876
--- /dev/null
+++ b/symposion/templates/reviews/review_stats.html
@@ -0,0 +1,82 @@
+{% extends "reviews/base.html" %}
+
+{% block body %}
+ Voting Status ({{ section_slug }})
+
+ {% if key %}
+
+
+
+ {% if key == "positive" %}
+
Positive
+ proposals with at least 3 votes and at least one +1 and no −1s
+ {% endif %}
+ {% if key == "negative" %}
+ Negative
+ proposals with at least 3 votes and at least one −1 and no +1s
+ {% endif %}
+ {% if key == "indifferent" %}
+ Indifferent
+ proposals with at least 3 votes and neither a +1 or a −1
+ {% endif %}
+ {% if key == "controversial" %}
+ Controversial
+ proposals with at least 3 votes and both a +1 and −1
+ {% endif %}
+ {% if key == "too_few" %}
+ Too Few Reviews
+ proposals with fewer than 3 votes
+ {% endif %}
+
+ {% include "reviews/_review_table.html" %}
+
+
+ {% else %}
+ Reviews are placed into one of five buckets depending on the state of their votes:
+
+
+ -
+ Positive
+ {{ proposals.positive.count }}
+
+ -
+ proposals with at least 3 votes and at least one +1 and no −1s
+
+ -
+ Negative
+ {{ proposals.negative.count }}
+
+ -
+ proposals with at least 3 votes and at least one −1 and no +1s
+
+ -
+ Indifferent
+ {{ proposals.indifferent.count }}
+
+ -
+ proposals with at least 3 votes and neither a +1 or a −1
+
+ -
+ Controversial
+ {{ proposals.controversial.count }}
+
+ -
+ proposals with at least 3 votes and both a +1 and −1
+
+ -
+ Too Few Reviews
+ {{ proposals.too_few.count }}
+
+ -
+ proposals with fewer than 3 votes
+
+
+ {% endif %}
+
+{% endblock %}
\ No newline at end of file
diff --git a/symposion/templates/sitetree/breadcrumbs.html b/symposion/templates/sitetree/breadcrumbs.html
new file mode 100644
index 00000000..3f292f2e
--- /dev/null
+++ b/symposion/templates/sitetree/breadcrumbs.html
@@ -0,0 +1,17 @@
+{% load sitetree %}
+{% if sitetree_items %}
+
+ {% for item in sitetree_items %}
+ {% if not forloop.last %}
+ -
+ {{ item.title_resolved }}
+ /
+
+ {% else %}
+ - {{ item.title_resolved }}
+ {% endif %}
+ {% endfor %}
+
+{% else %}
+
+{% endif %}
diff --git a/symposion/templates/sitetree/menu.html b/symposion/templates/sitetree/menu.html
new file mode 100644
index 00000000..71e6ac1b
--- /dev/null
+++ b/symposion/templates/sitetree/menu.html
@@ -0,0 +1,16 @@
+{% load sitetree %}
+
diff --git a/symposion/templates/sitetree/submenu.html b/symposion/templates/sitetree/submenu.html
new file mode 100644
index 00000000..93684588
--- /dev/null
+++ b/symposion/templates/sitetree/submenu.html
@@ -0,0 +1,8 @@
+{% load sitetree %}
+
diff --git a/symposion/templates/sitetree/tree.html b/symposion/templates/sitetree/tree.html
new file mode 100644
index 00000000..e7a1001f
--- /dev/null
+++ b/symposion/templates/sitetree/tree.html
@@ -0,0 +1,15 @@
+{% load sitetree %}
+{% if sitetree_items %}
+
+ {% for item in sitetree_items %}
+ {% if item.insitetree %}
+ -
+ {{ item.title_resolved }}
+ {% if item.has_children %}
+ {% sitetree_children of item for sitetree template "sitetree/tree.html" %}
+ {% endif %}
+
+ {% endif %}
+ {% endfor %}
+
+{% endif %}
diff --git a/symposion/templates/speakers/base.html b/symposion/templates/speakers/base.html
new file mode 100644
index 00000000..5c4b85b5
--- /dev/null
+++ b/symposion/templates/speakers/base.html
@@ -0,0 +1 @@
+{% extends "site_base_onecolumn.html" %}
diff --git a/symposion/templates/speakers/speaker_create.html b/symposion/templates/speakers/speaker_create.html
new file mode 100644
index 00000000..21eca486
--- /dev/null
+++ b/symposion/templates/speakers/speaker_create.html
@@ -0,0 +1,23 @@
+{% extends "speakers/base.html" %}
+
+{% load bootstrap_tags %}
+{% load i18n %}
+{% load boxes_tags %}
+
+{% block page_title %}{% trans "Create Speaker Profile" %}{% endblock %}
+
+{% block body %}
+ {% box "speaker-profile" %}
+
+
+{% endblock %}
diff --git a/symposion/templates/speakers/speaker_edit.html b/symposion/templates/speakers/speaker_edit.html
new file mode 100644
index 00000000..27b00136
--- /dev/null
+++ b/symposion/templates/speakers/speaker_edit.html
@@ -0,0 +1,23 @@
+{% extends "speakers/base.html" %}
+
+{% load bootstrap_tags %}
+{% load i18n %}
+{% load boxes_tags %}
+
+{% block page_title %}{% trans "Edit Speaker Profile" %}{% endblock %}
+
+{% block body %}
+ {% box "speaker-profile" %}
+
+
+{% endblock %}
diff --git a/symposion/templates/sponsorship/_horizontal_by_level.html b/symposion/templates/sponsorship/_horizontal_by_level.html
new file mode 100644
index 00000000..98025053
--- /dev/null
+++ b/symposion/templates/sponsorship/_horizontal_by_level.html
@@ -0,0 +1,11 @@
+{% load sponsorship_tags %}
+{% sponsor_levels as levels %}
+
diff --git a/symposion/templates/sponsorship/_sponsor_link.html b/symposion/templates/sponsorship/_sponsor_link.html
new file mode 100644
index 00000000..39d9aade
--- /dev/null
+++ b/symposion/templates/sponsorship/_sponsor_link.html
@@ -0,0 +1,10 @@
+{% load thumbnail %}
+{% spaceless %}
+
+ {% if dimensions %}
+
+ {% else %}
+
+ {% endif %}
+
+{% endspaceless %}
diff --git a/symposion/templates/sponsorship/_vertical_by_level.html b/symposion/templates/sponsorship/_vertical_by_level.html
new file mode 100644
index 00000000..b2ed5ec4
--- /dev/null
+++ b/symposion/templates/sponsorship/_vertical_by_level.html
@@ -0,0 +1,13 @@
+{% load sponsorship_tags %}
+{% sponsor_levels as levels %}
+
diff --git a/symposion/templates/sponsorship/_wall.html b/symposion/templates/sponsorship/_wall.html
new file mode 100644
index 00000000..7f1b9896
--- /dev/null
+++ b/symposion/templates/sponsorship/_wall.html
@@ -0,0 +1,7 @@
+{% load sponsorship_tags %}
+{% sponsors as sponsors %}
+
diff --git a/symposion/templates/sponsorship/apply.html b/symposion/templates/sponsorship/apply.html
new file mode 100644
index 00000000..e8e9d793
--- /dev/null
+++ b/symposion/templates/sponsorship/apply.html
@@ -0,0 +1,28 @@
+{% extends "site_base.html" %}
+
+{% load bootstrap_tags %}
+{% load i18n %}
+{% load boxes_tags %}
+
+{% block head_title %}{% trans "Apply to be a Sponsor" %}{% endblock %}
+
+{% block body_class %}sponsors{% endblock %}
+
+{% block body %}
+
+ {% box "sponsorship-apply" %}
+
+
+
+{% endblock %}
diff --git a/symposion/templates/sponsorship/detail.html b/symposion/templates/sponsorship/detail.html
new file mode 100644
index 00000000..6e44ad85
--- /dev/null
+++ b/symposion/templates/sponsorship/detail.html
@@ -0,0 +1,40 @@
+{% extends "site_base.html" %}
+
+{% load bootstrap_tags %}
+{% load i18n %}
+
+{% block head_title %}{{ sponsor }}{% endblock %}
+
+{% block page_title %}{% trans "Sponsorship" %}{% endblock %}
+
+{% block body %}
+ {{ sponsor.name }} ({{ sponsor.level }})
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/symposion/templates/sponsorship/list.html b/symposion/templates/sponsorship/list.html
new file mode 100644
index 00000000..a1cb6ce0
--- /dev/null
+++ b/symposion/templates/sponsorship/list.html
@@ -0,0 +1,42 @@
+{% extends "site_base.html" %}
+
+{% load sponsorship_tags %}
+{% load thumbnail %}
+{% load i18n %}
+
+{% block head_title %}{% trans "About Our Sponsors" %}{% endblock %}
+
+{% block body_class %}sponsors{% endblock %}
+
+{% block body_outer %}
+
+
+
{% trans "About Our Sponsors" %}
+
Learn how to become a sponsor
+
+ {% sponsor_levels as levels %}
+ {% for level in levels %}
+ {% if level.sponsors %}
+
{{ level.name }}
+
+ {% for sponsor in level.sponsors %}
+
+ {% endfor %}
+ {% endif %}
+ {% endfor %}
+
+
+{% endblock %}
diff --git a/symposion/templates/teams/team_detail.html b/symposion/templates/teams/team_detail.html
new file mode 100644
index 00000000..8ef56a3a
--- /dev/null
+++ b/symposion/templates/teams/team_detail.html
@@ -0,0 +1,103 @@
+{% extends "site_base.html" %}
+
+{% load bootstrap_tags %}
+
+{% block head_title %}{{ team.name }}{% endblock %}
+
+{% block body_outer %}
+
+
+
+ {% if can_join %}
+
+ {% endif %}
+
+ {% if can_leave %}
+
+ {% endif %}
+
+ {% if can_apply %}
+
+ {% endif %}
+
+
+
{{ team.name }}{% if state %} {{ state }}{% endif %}
+
+ {% if team.description %}
{{ team.description }}
{% endif %}
+
+ {% if state == "invited" %}
You have been invited to join this team. Click join to the right to accept.
{% endif %}
+
+ {% if user.is_staff or state == "manager" %}
+ {% if team.managers %}
+
Managers
+
+ {% for membership in team.managers %}
+
+ {{ membership.user.email }}{% if user == membership.user %} you{% endif %} |
+
+
+ |
+
+ {% endfor %}
+
+ {% endif %}
+ {% if team.members %}
+
Team Members
+
+ {% for membership in team.members %}
+
+ {{ membership.user.email }}{% if user == membership.user %} you{% endif %} |
+
+
+ |
+
+ {% endfor %}
+
+ {% endif %}
+ {% if team.applicants and team.access == "application" %}
+
Applicants
+
+ {% for membership in team.applicants %}
+
+ {{ membership.user.email }} |
+
+
+
+ |
+
+ {% endfor %}
+
+ {% endif %}
+ {% if team.invitees %}
+
Invitees
+
+ {% for membership in team.invitees %}
+
+ {{ membership.user.email }} |
+
+ {% endfor %}
+
+ {% endif %}
+ {% if invite_form %}
+
+ {% endif %}
+ {% endif %}
+
+
+{% endblock %}
+ {{ message.message|safe }} +