Bootstrapification
Boot custom CSS, and put some base, standard css in its place. Shame I did not start with fresh Bootstrap4, but oh well. Some more templates could be made to make this less messy, which would be good.
This commit is contained in:
parent
c6314ae230
commit
1886323d74
49 changed files with 501 additions and 560 deletions
|
@ -2,9 +2,11 @@ import os
|
|||
import saml2
|
||||
import saml2.saml
|
||||
from django.utils.crypto import get_random_string
|
||||
import django
|
||||
|
||||
PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir))
|
||||
PACKAGE_ROOT = os.path.abspath(os.path.dirname(__file__))
|
||||
DJANGO_ROOT = os.path.abspath(os.path.dirname(django.__file__))
|
||||
BASE_DIR = PACKAGE_ROOT
|
||||
|
||||
|
||||
|
@ -21,7 +23,6 @@ EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend"
|
|||
THEME_CONTACT_EMAIL = "team@lca2018.org"
|
||||
SECRET_KEY = os.environ.get("DJANGO_SECRET_KEY", get_random_string(length=64))
|
||||
|
||||
|
||||
PINAX_STRIPE_PUBLIC_KEY = os.environ.get("STRIPE_PUBLIC_KEY", "your test public key")
|
||||
PINAX_STRIPE_SECRET_KEY = os.environ.get("STRIPE_SECRET_KEY", "your test secret key")
|
||||
PINAX_STRIPE_SEND_EMAIL_RECEIPTS = False
|
||||
|
@ -34,7 +35,7 @@ smal2_sp_slo_post = 'http://example.com/saml2/ls/post'
|
|||
saml2_base_dir = os.path.join(PACKAGE_ROOT, 'saml2')
|
||||
saml2_idp_metadata = {
|
||||
'local': [os.path.join(saml2_base_dir, 'remote_metadata.xml')],
|
||||
},
|
||||
}
|
||||
saml2_signing_key = os.path.join(saml2_base_dir, 'cert.key')
|
||||
saml2_signing_crt = os.path.join(saml2_base_dir, 'cert.pem')
|
||||
saml2_encr_key = os.path.join(saml2_base_dir, 'enc.key')
|
||||
|
@ -71,7 +72,7 @@ USE_TZ = True
|
|||
MEDIA_ROOT = os.path.join(PACKAGE_ROOT, "site_media", "media")
|
||||
MEDIA_URL = "/site_media/media/"
|
||||
|
||||
STATIC_ROOT = os.path.join(PROJECT_ROOT, "static", "distx")
|
||||
STATIC_ROOT = os.path.join(PROJECT_ROOT, "static")
|
||||
STATIC_URL = "/static/dist/"
|
||||
|
||||
STATICFILES_DIRS = [
|
||||
|
@ -83,11 +84,13 @@ STATICFILES_FINDERS = [
|
|||
"django.contrib.staticfiles.finders.AppDirectoriesFinder",
|
||||
]
|
||||
|
||||
FORM_RENDERER = 'django.forms.renderers.TemplatesSetting'
|
||||
TEMPLATES = [
|
||||
{
|
||||
"BACKEND": "django.template.backends.django.DjangoTemplates",
|
||||
"DIRS": [
|
||||
os.path.join(PACKAGE_ROOT, "templates"),
|
||||
os.path.join(DJANGO_ROOT, 'forms/templates')
|
||||
],
|
||||
"APP_DIRS": True,
|
||||
"OPTIONS": {
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
<br/>
|
||||
{% endif %}
|
||||
|
||||
<blockquote><small>
|
||||
Fields marked with <strong>(*)</strong> are required.
|
||||
</small></blockquote>
|
||||
<blockquote>
|
||||
Fields marked with <strong>*</strong> are required.
|
||||
</blockquote>
|
||||
|
||||
{% include "forms/render.html" with form=form %}
|
||||
|
|
|
@ -9,249 +9,322 @@
|
|||
{% load staticfiles %}
|
||||
|
||||
|
||||
{% block head_title %}Dashboard{% endblock %}
|
||||
{% block header_title %}Dashboard{% endblock %}
|
||||
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="jumbotron">
|
||||
<h1>DASHBOARD</h1>
|
||||
{% available_categories as categories %}
|
||||
{% if categories %}
|
||||
<!--div class="panel panel__compact panel__bg panel__last" -->
|
||||
<div class="dashbpard-panel">
|
||||
<div>
|
||||
<h3>{% trans "Attend" %} {% conference_name %}</h3>
|
||||
<div class="vertical-bigger"></div>
|
||||
<div class="btn-group">
|
||||
{% if not user.attendee.completed_registration %}
|
||||
<a href="{% url "guided_registration" %}" class="btn btn__neut">
|
||||
Get your ticket
|
||||
</a>
|
||||
{% else %}
|
||||
<a href="{% url "attendee_edit" %}" class="btn btn__neut">
|
||||
Edit attendee profile
|
||||
</a>
|
||||
<div>
|
||||
{% available_categories as categories %}
|
||||
{% if categories %}
|
||||
|
||||
{% items_pending as pending %}
|
||||
{% if pending %}
|
||||
<a href="{% url "checkout" %}" class="btn btn__neut">
|
||||
Check out and pay
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if user.is_staff %}
|
||||
<div class="container">
|
||||
<div class="page-header">
|
||||
<h1>Administration</h1>
|
||||
</div>
|
||||
<div class="page-row">
|
||||
<div class="col-xs-12">
|
||||
<a class="btn btn-lg btn-info" role="button" href="{% url "reports_list" %}">Reports</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<div class="container">
|
||||
<div class="page-header">
|
||||
<h1>{% trans "Attend" %} {% conference_name %}</h1>
|
||||
</div>
|
||||
<div class="page-row">
|
||||
{% if not user.attendee.completed_registration %}
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4>Register</h4>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p>To attend the conference, you must register an attendee profile and purchase your ticket</p>
|
||||
<a class="btn btn-lg btn-primary" role="button" href="{% url "guided_registration" %}">Get your ticket</a>
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="col-xs-12 col-sm-6 col-lg-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4>Attendee Profile</h4>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p>If you would like to change the details on your badge or your attendee statistics, you may edit your attendee profile up until the weekend before the conference</p>
|
||||
<a class="btn btn-lg btn-primary pull-right" role="button" href="{% url "attendee_edit" %}">Edit attendee profile</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% items_pending as pending %}
|
||||
{% if pending %}
|
||||
<div class="col-xs-12 col-sm-12 col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4>Account</h4>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{% items_pending as pending %}
|
||||
{% if pending %}
|
||||
<div class="col-xs-12 col-sm-6 col-lg-6">
|
||||
<div class="panel panel-warning">
|
||||
<div class="panel-heading">
|
||||
<h5>Items pending payment</h5>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{% include "registrasion/_items_list.html" with items=pending %}
|
||||
<div class="right">
|
||||
<a class="btn btn-lg btn-success pull-right" role="button" href="{% url "checkout" %}">Check out and pay</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% items_purchased as purchased %}
|
||||
{% if purchased %}
|
||||
<div class="col-xs-12 col-sm-6 col-lg-6">
|
||||
<div class="panel panel-success">
|
||||
<div class="panel-heading">
|
||||
<h5>Paid Items</h5>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{% include "registrasion/_items_list.html" with items=purchased %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="col-xs-12 col-sm-6 col-lg-6">
|
||||
<div class="panel panel-success">
|
||||
<div class="panel-heading">
|
||||
<h5>Add/Update Items</h5>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{% include "registrasion/_category_list.html" with categories=categories %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% invoices as invoices %}
|
||||
{% if invoices %}
|
||||
<div class="col-xs-12 col-sm-12 col-lg-12">
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading">
|
||||
<h5>Invoices</h5>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<ul>
|
||||
{% for invoice in invoices %}
|
||||
{% if invoice.is_void %}
|
||||
<li class="void-invoice" style="display: none;">
|
||||
{% else %}
|
||||
<li>
|
||||
{% endif %}
|
||||
<a href="{% url "invoice" invoice.id %}" >Invoice {{ invoice.id }}</a>
|
||||
- ${{ invoice.value }} ({{ invoice.get_status_display }})
|
||||
<button class="btn btn-lg btn-default" type="button" id="toggle-void-invoices" href="" onclick="toggleVoidInvoices();">Show void invoices</button>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% available_credit as credit %}
|
||||
{% if credit %}
|
||||
<div class="col-xs-12 col-sm-12 col-lg-12">
|
||||
<div class="panel panel-danger">
|
||||
<div class="panel-heading">
|
||||
<h5>Credit</h5>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p>You have ${{ credit }} leftover from refunded invoices. This credit will be automatically applied to new invoices. Contact the conference organisers to for a refund to your original payment source.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<div class="container">
|
||||
<div class="page-header">
|
||||
<h1>{% trans "Speaking and Miniconfs" %}</h1>
|
||||
</div>
|
||||
<div class="page-row">
|
||||
<div class="col-xs-12 col-sm-6 col-lg-6">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h5>Speaker Profile</h5>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{% if not user.speaker_profile %}
|
||||
<p>To create a speaking or miniconf proposal you must first create a speaker profile.</p>
|
||||
{% endif %}
|
||||
|
||||
{% if user.is_staff %}
|
||||
<a class="btn btn__neut" href="{% url "reports_list" %}">Reports</a>
|
||||
<p>Your speaker profile is independent of your attendee profile and the details you provide here will be used during selection and to populate your speaker bio on the conference website.</p>
|
||||
{% if not user.speaker_profile %}
|
||||
<a class="btn btn-lg btn-primary pull-right" role="button" href="{% url "speaker_create" %}">Create Profile</a>
|
||||
{% else %}
|
||||
<a class="btn btn-lg btn-primary pull-right" role="button" href="{% url "speaker_edit" %}">Edit Profile</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--/div-->
|
||||
|
||||
<div class="dashboard-panel">
|
||||
{% if not user.attendee.completed_registration %}
|
||||
<p>To attend the conference, you must purchase a ticket. <a href="{% url "guided_registration" %}">Use our registration form to purchase your ticket</a>.
|
||||
</p>
|
||||
|
||||
{% else %}
|
||||
|
||||
<h3 class="small">Your items</h3>
|
||||
{% items_pending as pending %}
|
||||
|
||||
{% if pending %}
|
||||
<h4>Items pending payment</h4>
|
||||
{% include "registrasion/_items_list.html" with items=pending %}
|
||||
<p><a href="{% url "checkout" %}" class="btn btn-xs btn-default">
|
||||
<i class="fa fa-credit-card"></i>
|
||||
Check out and pay for these items.</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
{% items_purchased as purchased %}
|
||||
{% if purchased %}
|
||||
<h4>Paid items</h4>
|
||||
{% include "registrasion/_items_list.html" with items=purchased %}
|
||||
{% endif %}
|
||||
|
||||
<h4>Add/Update items</h4>
|
||||
{% include "registrasion/_category_list.html" with categories=categories %}
|
||||
|
||||
{% invoices as invoices %}
|
||||
{% if invoices %}
|
||||
<h4>Invoices</h4>
|
||||
<ul>
|
||||
{% for invoice in invoices %}
|
||||
{% if invoice.is_void %}
|
||||
<li class="void-invoice" style="display: none;">
|
||||
{% else %}
|
||||
<li>
|
||||
{% endif %}
|
||||
<a href="{% url "invoice" invoice.id %}" >Invoice {{ invoice.id }}</a>
|
||||
- ${{ invoice.value }} ({{ invoice.get_status_display }})
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<p>
|
||||
<button class="btn" id="toggle-void-invoices" href="" onclick="toggleVoidInvoices();">Show void invoices</button>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
{% available_credit as credit %}
|
||||
{% if credit %}
|
||||
<p>You have ${{ credit }} leftover from refunded invoices. This credit will be automatically applied to new invoices. Contact the conference organisers to
|
||||
for a refund to your original payment source.</p>
|
||||
{% endif %}
|
||||
<p></p>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
|
||||
<div class="dashboard-panel">
|
||||
<div class="panel--2-3">
|
||||
<h3>{% trans "Speaking and Miniconfs" %}</h3>
|
||||
<br />
|
||||
<div class="btn-group">
|
||||
{% if not user.speaker_profile %}
|
||||
<a href="{% url "speaker_create" %}" class="btn btn__neut">
|
||||
Create profile
|
||||
</a>
|
||||
{% else %}
|
||||
<a href="{% url "speaker_edit" %}" class="btn btn__neut">
|
||||
Edit profile
|
||||
</a>
|
||||
<a href="{% url "proposal_submit" %}" class="btn btn__neut">
|
||||
New proposal
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if user.speaker_profile %}
|
||||
<div class="col-xs-12 col-sm-6 col-lg-6">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h5>New Proposal</h5>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p>You may use the following form to create a speaking or miniconf proposal.</p>
|
||||
<p>Once submitted you will be able to see the status of your proposals, as well manage the submission and co-speakers from this page</p>
|
||||
<a class="btn btn-lg btn-primary pull-right" role="button" href="{% url "proposal_submit" %}">New Proposal</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="dashboard-panel">
|
||||
|
||||
{% if not user.speaker_profile %}
|
||||
<p>To submit a proposal, you must first create a speaker profile.</p>
|
||||
{% else %}
|
||||
<h3>Your Proposals</h3>
|
||||
|
||||
{% if not user.speaker_profile.proposals.exists %}
|
||||
<p>No proposals submitted yet.</p>
|
||||
{% else %}
|
||||
<p></p>
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if user.speaker_profile.proposals.exists %}
|
||||
{% if user.speaker_profile %}
|
||||
{% if user.speaker_profile.proposals.exists %}
|
||||
<div class="container">
|
||||
<div class="page-header">
|
||||
<h2>Your Proposals</h2>
|
||||
</div>
|
||||
<div class="page-row">
|
||||
{% if user.speaker_profile.proposals.exists %}
|
||||
{% for proposal in user.speaker_profile.proposals.all %}
|
||||
{% include "symposion/proposals/_proposal_row.html" %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if user.speaker_profile %}
|
||||
{% associated_proposals as associated_proposals %}
|
||||
{% if associated_proposals %}
|
||||
<h3 class="small">Proposals you have joined as an additional speaker</h3>
|
||||
<table>
|
||||
<tr>
|
||||
<th>Title</th>
|
||||
<th>Type</th>
|
||||
<th>Status</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
{% for proposal in associated_proposals %}
|
||||
{% include "symposion/proposals/_proposal_row.html" %}
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
|
||||
{% pending_proposals as pending_proposals %}
|
||||
{% if pending_proposals %}
|
||||
<h3 class="small">Proposals you have been invited to join</h3>
|
||||
<table>
|
||||
<tr>
|
||||
<th>Title</th>
|
||||
<th>Type</th>
|
||||
<th>Status</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
{% for proposal in pending_proposals %}
|
||||
{% include "symposion/proposals/_pending_proposal_row.html" %}
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
{% if user.speaker_profile %}
|
||||
{% associated_proposals as associated_proposals %}
|
||||
{% pending_proposals as pending_proposals %}
|
||||
{% if associated_proposals or pending_proposals %}
|
||||
<div class="container">
|
||||
<div class="page-header">
|
||||
<h2>Copresenter Proposals</h2>
|
||||
</div>
|
||||
<div class="page-row">
|
||||
{% for proposal in associated_proposals %}
|
||||
{% include "symposion/proposals/_proposal_row.html" %}
|
||||
{% endfor %}
|
||||
{% for proposal in pending_proposals %}
|
||||
{% include "symposion/proposals/_pending_proposal_row.html" %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{# {% include 'registrasion/dashboard-widget.html' %} #}
|
||||
|
||||
{% if review_sections %}
|
||||
|
||||
<div class="dashboard-panel">
|
||||
<h3>{% trans "Reviews" %}</h3>
|
||||
|
||||
{% for section in review_sections %}
|
||||
<h3 class="small">{{ section }}</h3>
|
||||
<ul>
|
||||
<li><a href="{% url "review_section" section.section.slug %}">All</a></li>
|
||||
<li><a href="{% url "user_reviewed" section.section.slug %}">Reviewed by you</a></li>
|
||||
<li><a href="{% url "user_not_reviewed" section.section.slug %}">Not Reviewed by you</a></li>
|
||||
</ul>
|
||||
{% endfor %}
|
||||
|
||||
<div class="container">
|
||||
<div class="page-header">
|
||||
<h2>{% trans "Reviews" %}</h2>
|
||||
</div>
|
||||
|
||||
<div class="page-row">
|
||||
{% for section in review_sections %}
|
||||
<div class="col-xs-12 col-sm-6 col-lg-6">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h5>{{ section }}</h5>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<ul>
|
||||
<li><a href="{% url "review_section" section.section.slug %}">All</a></li>
|
||||
<li><a href="{% url "user_reviewed" section.section.slug %}">Reviewed by you</a></li>
|
||||
<li><a href="{% url "user_not_reviewed" section.section.slug %}">Not Reviewed by you</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% available_teams as available_teams %}
|
||||
{% if user.memberships.exists or available_teams %}
|
||||
<div class="dashboard-panel">
|
||||
<h3>{% trans "Teams" %}</h3>
|
||||
|
||||
{% if user.memberships.exists %}
|
||||
<h3 class="small">Your Teams</h3>
|
||||
<table>
|
||||
{% for membership in user.memberships.all %}
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{% url "team_detail" membership.team.slug %}">{{ membership.team.name }}</a>
|
||||
{% if membership.team.description %}<br>{{ membership.team.description }}{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
<div class="container">
|
||||
<div class="page-header">
|
||||
<h2>{% trans "Teams" %}</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="page-row">
|
||||
{% if user.memberships.exists %}
|
||||
<div class="page-header">
|
||||
<h3>Your Teams</h3>
|
||||
</div>
|
||||
<div clas="page-row">
|
||||
{% for membership in user.memberships.all %}
|
||||
<div class="col-xs-12 col-sm-6 col-lg-6">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h5>{{ membership.team.name }}</h5>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{% if membership.team.description %}<p>{{ membership.team.description }}</p>{% endif %}
|
||||
<a class="btn btn-lg btn-primary" role="button" href="{% url "team_detail" membership.team.slug %}">Details</a>
|
||||
<span class="{% if membership.state == 'invited' %} label-info{% endif %}">{{ membership.get_state_display }}</span>
|
||||
</td>
|
||||
<td>
|
||||
{% if membership.state == "manager" or user.is_staff %}
|
||||
{% if membership.team.applicants %}{{ membership.team.applicants.count }} applicant{{ membership.team.applicants.count|pluralize }}{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if available_teams %}
|
||||
<h3 class="small">Available Teams</h3>
|
||||
<table class="table table-striped">
|
||||
{% for team in available_teams %}
|
||||
<tr> <td>
|
||||
<a href="{% url "team_detail" team.slug %}">{{ team }}</a>
|
||||
{% if team.description %}<br>{{ team.description }}{% endif %}
|
||||
</td> <td>
|
||||
<span class="label label-default">{{ team.get_access_display }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="container">
|
||||
{% if available_teams %}
|
||||
<div class="page-header">
|
||||
<h3>Available Teams</h3>
|
||||
</div>
|
||||
<div clas="page-row">
|
||||
{% for team in available_teams %}
|
||||
<div class="col-xs-12 col-sm-6 col-lg-6">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h5>{{ team }}</h5>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{% if team.description %}<p>{{ team.description }}</p>{% endif %}
|
||||
<span class="label label-default">{{ team.get_access_display }}</span>
|
||||
<a class="btn btn-lg btn-primary" role="button" href="{% url "team_detail" team.slug %}">Details</a>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
|
|
1
pinaxcon/templates/django/forms/widgets/checkbox.html
Normal file
1
pinaxcon/templates/django/forms/widgets/checkbox.html
Normal file
|
@ -0,0 +1 @@
|
|||
<input class="form-check-input" type="{{ widget.type }}" name="{{ widget.name }}"{% if widget.value != None %} value="{{ widget.value }}"{% endif %}{% include "django/forms/widgets/attrs.html" %} />
|
|
@ -0,0 +1,3 @@
|
|||
{% if wrap_label %}<label class="form-check-label"{% if widget.attrs.id %} for="{{ widget.attrs.id }}"{% endif %}>{% endif %}
|
||||
<input class="form-check-input" type="{{ widget.type }}" name="{{ widget.name }}"{% if widget.value != None %} value="{{ widget.value }}"{% endif %}{% include "django/forms/widgets/attrs.html" %} />
|
||||
{% if wrap_label %} {{ widget.label }}</label>{% endif %}
|
1
pinaxcon/templates/django/forms/widgets/input.html
Normal file
1
pinaxcon/templates/django/forms/widgets/input.html
Normal file
|
@ -0,0 +1 @@
|
|||
<input class="form-control" type="{{ widget.type }}" name="{{ widget.name }}"{% if widget.value != None %} value="{{ widget.value }}"{% endif %}{% include "django/forms/widgets/attrs.html" %} />
|
|
@ -0,0 +1,3 @@
|
|||
{% if wrap_label %}<label class="form-check-label"{% if widget.attrs.id %} for="{{ widget.attrs.id }}"{% endif %}>{% endif %}
|
||||
<input class="form-check-input" type="{{ widget.type }}" name="{{ widget.name }}"{% if widget.value != None %} value="{{ widget.value }}"{% endif %}{% include "django/forms/widgets/attrs.html" %} />
|
||||
{% if wrap_label %} {{ widget.label }}</label>{% endif %}
|
5
pinaxcon/templates/django/forms/widgets/select.html
Normal file
5
pinaxcon/templates/django/forms/widgets/select.html
Normal file
|
@ -0,0 +1,5 @@
|
|||
<select class="form-control" name="{{ widget.name }}"{% include "django/forms/widgets/attrs.html" %}>{% for group_name, group_choices, group_index in widget.optgroups %}{% if group_name %}
|
||||
<optgroup label="{{ group_name }}">{% endif %}{% for option in group_choices %}
|
||||
{% include option.template_name with widget=option %}{% endfor %}{% if group_name %}
|
||||
</optgroup>{% endif %}{% endfor %}
|
||||
</select>
|
1
pinaxcon/templates/django/forms/widgets/text.html
Normal file
1
pinaxcon/templates/django/forms/widgets/text.html
Normal file
|
@ -0,0 +1 @@
|
|||
<input class="form-control" type="{{ widget.type }}" name="{{ widget.name }}"{% if widget.value != None %} value="{{ widget.value }}"{% endif %}{% include "django/forms/widgets/attrs.html" %} />
|
2
pinaxcon/templates/django/forms/widgets/textarea.html
Normal file
2
pinaxcon/templates/django/forms/widgets/textarea.html
Normal file
|
@ -0,0 +1,2 @@
|
|||
<textarea class="form-control" name="{{ widget.name }}"{% include "django/forms/widgets/attrs.html" %}>
|
||||
{% if widget.value %}{{ widget.value }}{% endif %}</textarea>
|
|
@ -1,13 +1,5 @@
|
|||
{% for field in form %}
|
||||
{% if not field.is_hidden %}
|
||||
<div class="fieldWrapper {% if field.errors %}has-errors{% endif %}">
|
||||
<div>
|
||||
{% include "forms/widget.html" %}
|
||||
</div>
|
||||
|
||||
{% if field.help_text %}
|
||||
<span class="help_text">{{ field.help_text|safe }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% include "forms/widget.html" %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
{% load pyconau2017_tags %}
|
||||
|
||||
{% classname field.field.widget as widget %}
|
||||
{% if widget == "CheckboxInput" %}
|
||||
{% include "forms/widget_boolean_single.html" %}
|
||||
{% elif widget == "RadioSelect" or widget == "CheckboxSelectMultiple" %}
|
||||
{% include "forms/widget_boolean_multiple.html" %}
|
||||
{% elif widget == "Select" or widget == "SelectMultiple" or widget == "LazySelect" or widget == "CountrySelectWidget" %}
|
||||
{% include "forms/widget_basic.html" with widget_class="select" %}
|
||||
{% else %}
|
||||
{% include "forms/widget_basic.html" %}
|
||||
{% endif %}
|
||||
<div class="form-group row">
|
||||
{% classname field.field.widget as widget %}
|
||||
{% if widget == "CheckboxInput" %}
|
||||
{% include "forms/widget_boolean_single.html" %}
|
||||
{% elif widget == "RadioSelect" or widget == "CheckboxSelectMultiple" %}
|
||||
{% include "forms/widget_boolean_multiple.html" %}
|
||||
{% elif widget == "Select" or widget == "SelectMultiple" or widget == "LazySelect" or widget == "CountrySelectWidget" %}
|
||||
{% include "forms/widget_basic.html" with widget_class="select" %}
|
||||
{% else %}
|
||||
{% include "forms/widget_basic.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<h4>
|
||||
<label for="{{ field.id_for_label }}">{{ field.label }}</label>
|
||||
{% if field.field.required %}
|
||||
(*)
|
||||
{% endif %}
|
||||
</h4>
|
||||
<label for="{{ field.id_for_label }}" class="col-sm-2 control-label">{{ field.label }}{% if field.field.required %} *{% endif %}</label>
|
||||
{{ field.errors }}
|
||||
<div class="form-field {{ widget_class }}">{{ field }}</div>
|
||||
<div class="col-sm-10">
|
||||
{{ field }}
|
||||
{% if field.help_text %}
|
||||
<span class="help_text">{{ field.help_text|safe }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
|
|
@ -1,20 +1,13 @@
|
|||
<h4>
|
||||
{{ field.label }}
|
||||
{% if field.field.required %}
|
||||
(*)
|
||||
{% endif %}
|
||||
</h4>
|
||||
<ul class="form-field boolean-group">
|
||||
{% for item in field %}
|
||||
{% if True or widget == "CheckboxSelectMultiple" %}
|
||||
<li>
|
||||
{% else %}
|
||||
<!-- This is broken for everything. Going to need to look at Django. -->
|
||||
<li class="boolean-group--row">
|
||||
{% endif %}
|
||||
{{ item }}
|
||||
<label for="{{ item.id_for_label }}"><strong>{{ item.label }}</strong></label>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{{ field.errors }}
|
||||
<h3>
|
||||
{{ field.label }}{% if field.field.required %} *{% endif %}
|
||||
{{ field.errors }}
|
||||
</h3>
|
||||
{% if field.help_text %}
|
||||
<span class="help_text">{{ field.help_text|safe }}</span>
|
||||
{% endif %}
|
||||
|
||||
{% for item in field %}
|
||||
<div class="col-sm-offset-2 col-sm-10">
|
||||
{{ item }}
|
||||
</div>
|
||||
{% endfor%}
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
<ul class="form-field boolean-group">
|
||||
<li class="boolean-group--row">
|
||||
<h3>
|
||||
{{ field.label }}{% if field.field.required %} *{% endif %}
|
||||
{{ field.errors }}
|
||||
</h3>
|
||||
<div class="col-sm-offset-2 col-sm-10">
|
||||
<label class="form-check-label" for="id_profile-past_lca_0">
|
||||
{{ field }}
|
||||
<label for="{{ field.id_for_label }}">
|
||||
<strong>{{ field.label }}</strong>
|
||||
{% if field.field.required %}
|
||||
(*)
|
||||
{% endif %}
|
||||
</label>
|
||||
</li>
|
||||
</ul>
|
||||
{{ field.errors }}
|
||||
<p>Sign me up</p>
|
||||
{% if field.help_text %}
|
||||
<span class="help_text">{{ field.help_text|safe }}</span>
|
||||
{% endif %}
|
||||
</label>
|
||||
</div>
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
<h3>Amend pending items</h3>
|
||||
|
||||
<form method="POST">
|
||||
<form class="form-horizontal" method="POST">
|
||||
{% csrf_token %}
|
||||
{% include "_form_snippet.html" with form=form %}
|
||||
<br/>
|
||||
|
@ -44,7 +44,7 @@
|
|||
|
||||
<h3>Apply voucher</h3>
|
||||
|
||||
<form method="POST">
|
||||
<form class="form-horizontal" method="POST">
|
||||
{% csrf_token %}
|
||||
{% include "_form_snippet.html" with form=voucher_form %}
|
||||
<br/>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<p>This credit note was generated from funds excess from invoice {{ credit_note.invoice.id }}.</p>
|
||||
|
||||
{% if credit_note.is_unclaimed %}
|
||||
<form method="post" action="">
|
||||
<form class="form-horizontal" method="post" action="">
|
||||
{% csrf_token %}
|
||||
<h3>Apply to invoice</h3>
|
||||
<p>You can apply this credit note to an unpaid invoice.</p>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
{% block content %}
|
||||
|
||||
<form method="post" action="">
|
||||
<form class="form-horizontal" method="post" action="">
|
||||
{% csrf_token %}
|
||||
|
||||
{% for section in sections %}
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<p>Enter a reference and the amount of the payment. A refund is a negative
|
||||
payment.</p>
|
||||
|
||||
<form method="post" action="">
|
||||
<form class="form-horizontal" method="post" action="">
|
||||
{% csrf_token %}
|
||||
|
||||
<table>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
<h2>Send reminder e-mails</h2>
|
||||
|
||||
<form method="POST">
|
||||
<form class="form-horizontal" method="POST">
|
||||
{% csrf_token %}
|
||||
{{ form | bootstrap}}
|
||||
<br/>
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
<button id="voucher-form-button" class="btn" onclick="showVoucherForm()">Enter voucher code</button>
|
||||
|
||||
<form method="post" action="">
|
||||
<form class="form-horizontal" method="post" action="">
|
||||
{% csrf_token %}
|
||||
|
||||
<fieldset id="voucher-form" style="display: none;">
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
{% load pyconau2017_tags %}
|
||||
|
||||
{% block header_title %}Your profile{% endblock %}
|
||||
{% block header_inset_image %}{% illustration "antarctica.svg" %}{% endblock %}
|
||||
{% block header_paragraph %}
|
||||
These details will appear on your badge, your invoices, and will be used
|
||||
to order catered food at the conference.
|
||||
|
@ -11,23 +10,22 @@
|
|||
|
||||
{% block scripts_extra %}
|
||||
{{ form.media.js }}
|
||||
<script type="text/javascript">
|
||||
<script type="text/javascript">
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form method="post" action="">
|
||||
<form class="form-horizontal" method="post" action="">
|
||||
{% csrf_token %}
|
||||
|
||||
<fieldset>
|
||||
{% include "_form_snippet.html" with form=form %}
|
||||
<br />
|
||||
<div class="btn-group">
|
||||
<input class="btn" type="submit" value="Save Profile" />
|
||||
<a class="btn btn-primary" href="{% url "dashboard" %}">Return to dashboard</a>
|
||||
</div>
|
||||
{% include "_form_snippet.html" with form=form %}
|
||||
<br />
|
||||
<div class="btn-group">
|
||||
<input class="btn" type="submit" value="Save Profile" />
|
||||
<a class="btn btn-primary" href="{% url "dashboard" %}">Return to dashboard</a>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<p><a href="{% url 'reports_list' %}">Return to reports list</a></p>
|
||||
|
||||
{% if form %}
|
||||
<form method="GET">
|
||||
<form class="form-horizontal" method="GET">
|
||||
{{ form | bootstrap}}
|
||||
<br/>
|
||||
<input class="btn btn-primary" type="submit">
|
||||
|
|
|
@ -84,7 +84,7 @@
|
|||
|
||||
<h3>Card details</h3>
|
||||
|
||||
<form id="payment-form" method="post">
|
||||
<form class="form-horizontal" id="payment-form" method="post">
|
||||
<fieldset>
|
||||
|
||||
<div class="has-errors" id="payment-errors-outer" style="display: none;">
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
transaction. If you need to cash out to multiple small payments, you will
|
||||
need to manually invoke the refunds from the Stripe Dashboard.</p>
|
||||
|
||||
<form method="post">
|
||||
<form class="form-horizontal" method="post">
|
||||
{% csrf_token %}
|
||||
{{form|bootstrap}}
|
||||
<input id="submit" class="btn btn-primary" type="submit" value="Refund {{ credit_note.value }} to payment source" />
|
||||
|
|
81
pinaxcon/templates/site_base.html
Executable file → Normal file
81
pinaxcon/templates/site_base.html
Executable file → Normal file
|
@ -1,4 +1,3 @@
|
|||
<!-- site_base.html -->
|
||||
{% load staticfiles %}
|
||||
{% load metron_tags %}
|
||||
{% load i18n %}
|
||||
|
@ -11,76 +10,66 @@
|
|||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="description" content="">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<title>{% block head_title_base %}{% if SITE_NAME %}{{ SITE_NAME }} | {% endif %}{% block head_title %}{% endblock %}{% endblock %}</title>
|
||||
|
||||
{% block styles %}
|
||||
<link href="{% static 'pyconau2017/css/bootstrap.css' %}" rel="stylesheet">
|
||||
<!--<link rel="stylesheet" href="{% static 'pyconau2017/css/app.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'pyconau2017/css/print.css' %}" media="print">
|
||||
<link href="{% static 'pyconau2017/css/pyconau.css' %}" rel="stylesheet">-->
|
||||
|
||||
<link rel="icon" href="{% static 'pyconau2017/images/favicon.png' %}">
|
||||
{% block extra_style %}{% endblock %}
|
||||
{% endblock %}
|
||||
|
||||
{% block extra_head_base %}
|
||||
{% block extra_head %}{% endblock %}
|
||||
{% block extra_head %}{% endblock %}
|
||||
{% endblock %}
|
||||
</head>
|
||||
<body class="{% block body_class %}{% endblock %}">
|
||||
<div class="container">
|
||||
{% sitetree_menu from "main" include "trunk" template "sitetree_header.html" %}
|
||||
|
||||
|
||||
<!-- site_base block body_base -->
|
||||
{% block body_base %}
|
||||
<!--div style="height: 100px;" /-->
|
||||
<!--main role="main"-->
|
||||
<!-- site_base block body -->
|
||||
<div class="well">
|
||||
<h1>{% block header_title %}{% endblock %}</h1>
|
||||
<p>{% block header_paragraph %}{% endblock %}</p>
|
||||
</div>
|
||||
{% block body_base %}
|
||||
{% block body %}
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-1">
|
||||
{% block body_outer %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
<div class="col-md-10" >
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-1">
|
||||
{% block body_outer %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
<div class="col-md-10" >
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
<!-- site_base endblock body -->
|
||||
<!--/main-->
|
||||
<!--/div-->
|
||||
{% endblock %}
|
||||
<!-- site_base endblock body_base -->
|
||||
|
||||
{% block footer_base %}
|
||||
<!-- footer class="l-footer l-footer__alt" -->
|
||||
{% block footer %}
|
||||
{% block footer_base %}
|
||||
{% block footer %}
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
<!-- /footer -->
|
||||
{% endblock %}
|
||||
|
||||
{% block scripts %}
|
||||
<script src="{% static 'pyconau2017/js/app.js' %}" type="text/javascript"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
|
||||
<script src="{% static 'pyconau2017/js/bootstrap.js' %}" type="text/javascript"></script>
|
||||
<script src="{% static 'pyconau2017/js/load_editors.js' %}" type="text/javascript"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.2.3/ace.js"></script>
|
||||
<script src="{{ STATIC_URL }}js/jquery.formset.js"></script>
|
||||
{% block scripts_extra %}{% endblock %}
|
||||
{% endblock %}
|
||||
|
||||
{% block extra_body_base %}
|
||||
{% block extra_body %}
|
||||
{% block scripts %}
|
||||
<script src="{% static 'pyconau2017/js/app.js' %}" type="text/javascript"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
|
||||
<script src="{% static 'pyconau2017/js/bootstrap.js' %}" type="text/javascript"></script>
|
||||
<script src="{% static 'pyconau2017/js/load_editors.js' %}" type="text/javascript"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.2.3/ace.js"></script>
|
||||
<script src="{{ STATIC_URL }}js/jquery.formset.js"></script>
|
||||
{% block scripts_extra %}{% endblock %}
|
||||
{% endblock %}
|
||||
|
||||
{% block extra_body_base %}
|
||||
{% block extra_body %}
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!-- end site_base.html -->
|
||||
|
|
|
@ -1,36 +1,37 @@
|
|||
{% load i18n %}
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{% url "proposal_detail" proposal.pk %}">{{ proposal.title }}</a>
|
||||
</td>
|
||||
|
||||
<td>{{ proposal.kind.name }}</td>
|
||||
|
||||
<td>
|
||||
{% if proposal.cancelled %}
|
||||
<span class="label label-danger">{% trans 'Cancelled' %}</span>
|
||||
{% else %}
|
||||
<div class="col-xs-12 col-sm-6 col-lg-6">
|
||||
<div class="panel panel-warning"> <!-- Todo Make the colour relate to status of acceptance -->
|
||||
<div class="panel-heading">
|
||||
<h5>{{ proposal.title }}</h5>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<ul>
|
||||
<li><strong>Type:</strong> {{ proposal.kind.name }}</li>
|
||||
<li>
|
||||
<strong>Status:</strong>
|
||||
{% if proposal.cancelled %}
|
||||
<span class="label label-danger">Cancelled</span>
|
||||
{% else %}
|
||||
{% if request.user == proposal.speaker.user %}
|
||||
{% if proposal.result.status == "accepted" %}
|
||||
<span class="label label-success">{% trans 'Accepted' %}</span>
|
||||
{% else %}
|
||||
<span class="label label-default">{% trans 'Submitted' %}</span>
|
||||
{% endif %}
|
||||
{% if proposal.result.status == "accepted" %}
|
||||
<span class="label label-success">Accepted</span>
|
||||
{% else %}
|
||||
<span class="label label-default">Submitted</span>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<span class="label label-default">{% trans 'Invited' %}</span>
|
||||
<span class="label label-default">Invited</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</li>
|
||||
</ul>
|
||||
<div>
|
||||
<a class="btn btn-lg btn-primary" role="button" href="{% url "proposal_detail" proposal.pk %}">View Details</a>
|
||||
{% if not proposal.cancelled %}
|
||||
<a class="btn btn-lg btn-success" role="button" href="{% url "proposal_pending_join" proposal.id %}">Accept Copresenter Invitation</a>
|
||||
<a class="btn btn-lg btn-danger" role="button" href="{% url "proposal_pending_decline" proposal.id %}">Decline Copresenter Invitation</a>
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
{% if not proposal.cancelled %}
|
||||
<ul>
|
||||
<li><a href="{% url "proposal_pending_join" proposal.id %}">
|
||||
{% trans 'Accept invitation' %}</a></li>
|
||||
<li><a href="{% url "proposal_pending_decline" proposal.id
|
||||
%}">{% trans 'Decline invitation' %}</a></li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -96,7 +96,7 @@
|
|||
<tr>
|
||||
<td><a href="{{ document.download_url }}">{{ document.description }}</a></td>
|
||||
<td>
|
||||
<form style="margin: 0;" method="post" action="{% url "proposal_document_delete" document.pk %}">
|
||||
<form class="form-horizontal" style="margin: 0;" method="post" action="{% url "proposal_document_delete" document.pk %}">
|
||||
{% csrf_token %}
|
||||
<button type="submit" class="btn btn-xs">delete</button>
|
||||
</form>
|
||||
|
|
|
@ -1,35 +1,37 @@
|
|||
<h4>
|
||||
{{ proposal.title }}
|
||||
</h4>
|
||||
|
||||
<ul>
|
||||
<li><strong>Type:</strong> {{ proposal.kind.name }}</li>
|
||||
<li>
|
||||
<strong>Status:</strong>
|
||||
{% if proposal.cancelled %}
|
||||
<div class="col-xs-12 col-sm-6 col-lg-6">
|
||||
<div class="panel panel-primary"> <!-- Todo Make the colour relate to status of acceptance -->
|
||||
<div class="panel-heading">
|
||||
<h5>{{ proposal.title }}</h5>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<ul>
|
||||
<li><strong>Type:</strong> {{ proposal.kind.name }}</li>
|
||||
<li>
|
||||
<strong>Status:</strong>
|
||||
{% if proposal.cancelled %}
|
||||
<span class="label label-danger">Cancelled</span>
|
||||
{% else %}
|
||||
{% else %}
|
||||
{% if request.user == proposal.speaker.user %}
|
||||
{% if proposal.result.status == "accepted" %}
|
||||
<span class="label label-success">Accepted</span>
|
||||
{% else %}
|
||||
<span class="label label-default">Submitted</span>
|
||||
{% endif %}
|
||||
{% if proposal.result.status == "accepted" %}
|
||||
<span class="label label-success">Accepted</span>
|
||||
{% else %}
|
||||
<span class="label label-default">Submitted</span>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<span class="label label-default">Associated</span>
|
||||
<span class="label label-default">Associated</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</li>
|
||||
</ul>
|
||||
<div>
|
||||
<a class="btn btn-lg btn-success" role="button" href="{% url "proposal_detail" proposal.pk %}">View Details</a>
|
||||
{% if not proposal.cancelled %}
|
||||
{% if request.user == proposal.speaker.user and proposal.can_edit %}
|
||||
<a class="btn btn-lg btn-success" role="button" href="{% url "proposal_edit" proposal.pk %}">Edit</a>
|
||||
<a class="btn btn-lg btn-success" role="button" href="{% url "proposal_speaker_manage" proposal.id %}">Manage Additional Speakers</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="btn-group">
|
||||
<a href="{% url "proposal_detail" proposal.pk %}" class="btn btn__compact">View details</a>
|
||||
{% if not proposal.cancelled %}
|
||||
{% if request.user == proposal.speaker.user and proposal.can_edit %}
|
||||
<a href="{% url "proposal_edit" proposal.pk %}" class="btn btn__compact">Edit</a>
|
||||
<a href="{% url "proposal_speaker_manage" proposal.id %}" class="btn btn__compact">Manage Additional Speakers</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
</div>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
{% block page_title %}Upload Document to '{{ proposal.title }}'{% endblock %}
|
||||
|
||||
{% block proposals_body %}
|
||||
<form method="POST" action="" enctype="multipart/form-data" class="form form-horizontal">
|
||||
<form class="form-horizontal" method="POST" action="" enctype="multipart/form-data" class="form form-horizontal">
|
||||
{% csrf_token %}
|
||||
<fieldset>
|
||||
{% include "_form_snippet.html" with form=form %}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
{% block page_title %}Cancel: {{ proposal.title }}{% endblock %}
|
||||
|
||||
{% block proposals_body %}
|
||||
<form method="POST" action="" enctype="multipart/form-data">
|
||||
<form class="form-horizontal" method="POST" action="" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
<p>Are you sure you want to cancel <b>{{ proposal.title }}</b>?</p>
|
||||
<input class="btn btn-danger" type="submit" value="I am sure" />
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
<tr>
|
||||
<td><a href="{{ document.download_url }}">{{ document.description }}</a></td>
|
||||
<td>
|
||||
<form style="margin: 0;" method="post" action="{% url "proposal_document_delete" document.pk %}">
|
||||
<form class="form-horizontal" style="margin: 0;" method="post" action="{% url "proposal_document_delete" document.pk %}">
|
||||
{% csrf_token %}
|
||||
<button type="submit" class="btn btn-xs">{% trans 'delete' %}</button>
|
||||
</form>
|
||||
|
@ -73,7 +73,7 @@
|
|||
|
||||
<p>{% trans 'You can leave a message for the reviewers here.' %}</p>
|
||||
|
||||
<form action="" method="POST" accept-charset="utf-8">
|
||||
<form class="form-horizontal" action="" method="POST" accept-charset="utf-8">
|
||||
{% csrf_token %}
|
||||
<fieldset>
|
||||
{% include "_form_snippet.html" with form=message_form %}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
{% block proposals_body %}
|
||||
<p><a href="{% url "proposal_speaker_manage" proposal.pk %}">Manage speakers</a></p>
|
||||
|
||||
<form method="POST" action="" enctype="multipart/form-data">
|
||||
<form class="form-horizontal" method="POST" action="" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
<fieldset>
|
||||
{% include "_form_snippet.html" with form=form %}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
{% block head_title %}Leaving {{ proposal.title }}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<form method="POST" action="" enctype="multipart/form-data">
|
||||
<form class="form-horizontal" method="POST" action="" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
<p>Are you sure you wish to leave as a speaker on <b>{{ proposal.title }}</b>?</p>
|
||||
<input type="submit" class="btn btn-primary" value="I am sure" />
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
<h3>{% trans 'Add another speaker' %}</h3>
|
||||
|
||||
<form method="POST" action="" enctype="multipart/form-data">
|
||||
<form class="form-horizontal" method="POST" action="" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
<fieldset>
|
||||
{% include "_form_snippet.html" with form=add_speaker_form %}
|
||||
|
|
|
@ -3,16 +3,17 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block head_title %}{% trans "Submit A Proposal" %}{% endblock %}
|
||||
{% block header_title %}Submit A Proposal{% endblock %}
|
||||
|
||||
{% block proposals_body %}
|
||||
|
||||
{% if kinds %}
|
||||
<p>Select what kind of proposal you'd like to submit:</p>
|
||||
<h1>Select what kind of proposal you'd like to submit:</h1>
|
||||
|
||||
{% for kind in kinds %}
|
||||
<a href="{% url "proposal_submit_kind" kind.slug %}" class="btn btn-default">{{ kind }}</a>
|
||||
<a class="btn btn-lg btn-primary" role="button" href="{% url "proposal_submit_kind" kind.slug %}">{{ kind }}</a>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<p>Proposals are not currently open for submission.</p>
|
||||
<h1>Proposals are not currently open for submission.</h1>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
{% load i18n %}
|
||||
|
||||
{% block page_title %}Submit a Proposal for a {{ kind.name }}{% endblock %}
|
||||
{% block header_title %}Submit a Proposal for a {{ kind.name }}{% endblock %}
|
||||
{% block head_title %}Submit a Proposal for a {{ kind.name }}{% endblock %}
|
||||
|
||||
{% block proposals_body %}
|
||||
<form method="POST" action="" enctype="multipart/form-data">
|
||||
<form class="form-horizontal" method="POST" action="" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
<fieldset>
|
||||
{% include "_form_snippet.html" with form=proposal_form %}
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
<h1>Result Notification</h1>
|
||||
|
||||
<form method="post" action="{% url "result_notification_prepare" section_slug status %}">
|
||||
<form class="form-horizontal" method="post" action="{% url "result_notification_prepare" section_slug status %}">
|
||||
|
||||
{% csrf_token %}
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<div class="col-md-6">
|
||||
<h2>Email</h2>
|
||||
|
||||
<form method="post" action="{% url "result_notification_send" section_slug status %}">
|
||||
<form class="form-horizontal" method="post" action="{% url "result_notification_send" section_slug status %}">
|
||||
|
||||
{% csrf_token %}
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<form method="post" action="{% url "review_assignment_opt_out" assignment.pk %}">
|
||||
<form class="form-horizontal" method="post" action="{% url "review_assignment_opt_out" assignment.pk %}">
|
||||
{% csrf_token %}
|
||||
<input type="submit" value="Opt-out" />
|
||||
</form>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
{% block body %}
|
||||
|
||||
<h1>Bulk Accept</h1>
|
||||
<form action="" method="POST" class="uniForm" accept-charset="utf-8">
|
||||
<form class="form-horizontal" action="" method="POST" class="uniForm" accept-charset="utf-8">
|
||||
{% csrf_token %}
|
||||
{{ form|bootstrap }}
|
||||
<div class="form-actions">
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
{% if is_manager %}
|
||||
<div class="pull-right">
|
||||
<form class="result-form form-inline" method="POST" action="">
|
||||
<form class="result-form form-inline form-horizontal" method="POST" action="">
|
||||
{% csrf_token %}
|
||||
<div class="btn-group">
|
||||
{% if proposal.result.status == "accepted" %}
|
||||
|
@ -101,7 +101,7 @@
|
|||
<hr />
|
||||
|
||||
{% if review_form %}
|
||||
<form method="POST" action="#proposal-reviews" class="review-form">
|
||||
<form method="POST" action="#proposal-reviews" class="review-form form-horizontal">
|
||||
<legend>{% trans "Submit Review" %}</legend>
|
||||
<p>Enter your vote and any comment to go along with it. You can revise your vote or comment multiple times with an existing vote (your previously recorded score will be replaced during calculations). <b>Your vote and comments are not public and will only be viewable by other reviewers.</b></p>
|
||||
{% csrf_token %}
|
||||
|
@ -124,7 +124,7 @@
|
|||
</div>
|
||||
{% if is_manager %}
|
||||
<div class="pull-right">
|
||||
<form class="form-inline" action="{% url "review_delete" review.id %}" method="POST">
|
||||
<form class="form-inline form-horizontal" action="{% url "review_delete" review.id %}" method="POST">
|
||||
{% csrf_token %}
|
||||
<button class="btn btn-xs btn-danger" type="submit">Delete</button>
|
||||
</form>
|
||||
|
@ -162,7 +162,7 @@
|
|||
{% endif %}
|
||||
|
||||
{% if is_manager %}
|
||||
<form action="" method="POST"accept-charset="utf-8">
|
||||
<form class="form-horizontal" action="" method="POST"accept-charset="utf-8">
|
||||
<legend>{% trans "Send a message" %}</legend>
|
||||
<p>
|
||||
{% blocktrans %}
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
|
||||
<h2>Review</h2>
|
||||
|
||||
<form method="POST" action="{% url "review_review" proposal.pk %}" class="form">
|
||||
<form method="POST" action="{% url "review_review" proposal.pk %}" class="form form-horizontal">
|
||||
{% csrf_token %}
|
||||
<fieldset class="inlineLabels">
|
||||
{{ review_form|bootstrap }}
|
||||
|
@ -71,7 +71,7 @@
|
|||
|
||||
<h2>Comment</h2>
|
||||
|
||||
<form method="POST" action="{% url "review_comment" proposal.pk %}" class="form">
|
||||
<form method="POST" action="{% url "review_comment" proposal.pk %}" class="form form-horizontal">
|
||||
{% csrf_token %}
|
||||
<fieldset>
|
||||
{{ comment_form|bootstrap }}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% load i18n bootstrap %}
|
||||
<form id="slotEditForm" class="modal-form" method="POST" action="{% url "schedule_slot_edit" slug slot.pk %}">
|
||||
<form class="form-horizontal" id="slotEditForm" class="modal-form" method="POST" action="{% url "schedule_slot_edit" slug slot.pk %}">
|
||||
<div class="modal-header">
|
||||
<a class="close" data-dismiss="modal">×</a>
|
||||
<h3>{% trans "Edit Slot" %}</h3>
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
<h2>{{ timetable.day.date }}</h2>
|
||||
{% include "symposion/schedule/_edit_grid.html" %}
|
||||
{% endfor %}
|
||||
<form id="schedule-builder" action="." method="post" enctype="multipart/form-data">{% csrf_token %}
|
||||
<form class="form-horizontal" id="schedule-builder" action="." method="post" enctype="multipart/form-data">{% csrf_token %}
|
||||
{{ form.as_p }}
|
||||
<input type="submit" name="submit" value="Submit" />
|
||||
<input type="submit" id="delete" name="delete" value="Delete Schedule" />
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
{% block page_title %}{% trans "Create Speaker Profile" %}{% endblock %}
|
||||
|
||||
{% block proposals_body %}
|
||||
<form method="POST" action="" enctype="multipart/form-data">
|
||||
<form class="form-horizontal" method="POST" action="" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
<fieldset>
|
||||
{% include "_form_snippet.html" with form=speaker_form %}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
{% block page_title %}{% trans "Edit Speaker Profile" %}{% endblock %}
|
||||
|
||||
{% block proposals_body %}
|
||||
<form method="POST" action="" enctype="multipart/form-data">
|
||||
<form class="form-horizontal" method="POST" action="" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
<fieldset>
|
||||
{% include "_form_snippet.html" with form=speaker_form %}
|
||||
|
|
|
@ -7,21 +7,21 @@
|
|||
{% block body_outer %}
|
||||
<div class="pull-right">
|
||||
{% if can_join %}
|
||||
<form method="post" action="{% url "team_join" team.slug %}">
|
||||
<form class="form-horizontal" method="post" action="{% url "team_join" team.slug %}">
|
||||
{% csrf_token %}
|
||||
<input type="submit" class="btn btn-primary" value="join">
|
||||
</form>
|
||||
{% endif %}
|
||||
|
||||
{% if can_leave %}
|
||||
<form method="post" action="{% url "team_leave" team.slug %}">
|
||||
<form class="form-horizontal" method="post" action="{% url "team_leave" team.slug %}">
|
||||
{% csrf_token %}
|
||||
<input type="submit" class="btn btn-default" value="leave">
|
||||
</form>
|
||||
{% endif %}
|
||||
|
||||
{% if can_apply %}
|
||||
<form method="post" action="{% url "team_apply" team.slug %}">
|
||||
<form class="form-horizontal" method="post" action="{% url "team_apply" team.slug %}">
|
||||
{% csrf_token %}
|
||||
<input type="submit" class="btn btn-primary" value="apply">
|
||||
</form>
|
||||
|
@ -45,7 +45,7 @@
|
|||
<tr>
|
||||
<td>{{ membership.user.email }}{% if user == membership.user %} <span class="label label-info">you</span>{% endif %}</td>
|
||||
<td>
|
||||
<form style="margin: 0;" method="post" action="{% url "team_demote" membership.pk %}">{% csrf_token %}<button type="submit" class="btn btn-xs">demote</button></form>
|
||||
<form class="form-horizontal" style="margin: 0;" method="post" action="{% url "team_demote" membership.pk %}">{% csrf_token %}<button type="submit" class="btn btn-xs">demote</button></form>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
@ -58,7 +58,7 @@
|
|||
<tr>
|
||||
<td>{{ membership.user.email }}{% if user == membership.user %} <span class="label label-info">you</span>{% endif %}</td>
|
||||
<td>
|
||||
<form style="margin: 0;" method="post" action="{% url "team_promote" membership.pk %}">{% csrf_token %}<button type="submit" class="btn btn-xs">promote</button></form>
|
||||
<form class="form-horizontal" style="margin: 0;" method="post" action="{% url "team_promote" membership.pk %}">{% csrf_token %}<button type="submit" class="btn btn-xs">promote</button></form>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
@ -71,8 +71,8 @@
|
|||
<tr>
|
||||
<td>{{ membership.user.email }}</td>
|
||||
<td>
|
||||
<form style="margin: 0; float: left;" method="post" action="{% url "team_accept" membership.pk %}">{% csrf_token %}<button type="submit" class="btn btn-xs">accept</button></form>
|
||||
<form style="margin: 0; float: left;" method="post" action="{% url "team_reject" membership.pk %}">{% csrf_token %}<button type="submit" class="btn btn-xs">reject</button></form>
|
||||
<form class="form-horizontal" style="margin: 0; float: left;" method="post" action="{% url "team_accept" membership.pk %}">{% csrf_token %}<button type="submit" class="btn btn-xs">accept</button></form>
|
||||
<form class="form-horizontal" style="margin: 0; float: left;" method="post" action="{% url "team_reject" membership.pk %}">{% csrf_token %}<button type="submit" class="btn btn-xs">reject</button></form>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
|
|
@ -1,130 +0,0 @@
|
|||
body {
|
||||
/* Unfortunately, we can't use django tags in here. So, we'll pull the bg image in from within the body tag itself */
|
||||
/* background: url({% static 'pyconau2017/images/pyconau-2016-collage.jpg' %}) no-repeat center center fixed; */
|
||||
background: no-repeat center center fixed; */
|
||||
-webkit-background-size: cover;
|
||||
-moz-background-size: cover;
|
||||
-o-background-size: cover;
|
||||
background-size: cover;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
|
||||
.vertical-center {
|
||||
min-height: 100%; /* Fallback for browsers do NOT support vh unit */
|
||||
min-height: 100vh; /* These two lines are counted as one :-) */
|
||||
|
||||
display: flex;
|
||||
flex-direction: row-reverse;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.jumbotron {
|
||||
background-color: rgba(0,0,0,0.9);
|
||||
color: white;
|
||||
margin-top: 60px;
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
|
||||
.jumbotron-white {
|
||||
background-color: rgba(255,255,255,1.0);
|
||||
color: black;
|
||||
margin-bottom: 60px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Flux Regular';
|
||||
src: url('fonts/FLUXRegular.ttf');
|
||||
}
|
||||
|
||||
.jumbotron h1 {
|
||||
font-size: 3em;
|
||||
font-family: 'Flux Regular';
|
||||
}
|
||||
|
||||
#announcements {
|
||||
/*
|
||||
background-color: rgba(0,0,0,0.9);
|
||||
color: white;
|
||||
*/
|
||||
border-radius: 6px;
|
||||
padding: 2em;
|
||||
margin-top: 60px;
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
|
||||
#announcements h2 {
|
||||
font-size: 2em;
|
||||
font-family: 'Flux Regular';
|
||||
/*color: white;*/
|
||||
}
|
||||
|
||||
/* getting nav bar sorted ... (n6) */
|
||||
|
||||
nav {
|
||||
background-color: #000;
|
||||
width: 100%;
|
||||
padding-top: 10px;
|
||||
/*padding-bottom: 10px;*/
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
.l-header--nav {
|
||||
font-size: 1.4em;
|
||||
font-weight: bold;
|
||||
color: #a6e9f5;
|
||||
}
|
||||
|
||||
.menu-dropdown {
|
||||
background: #4c4c4b;
|
||||
}
|
||||
|
||||
#sponsors {
|
||||
border-radius: 6px;
|
||||
padding: 1em;
|
||||
margin-top: 60px;
|
||||
margin-bottom: 60px;
|
||||
text-align: center;
|
||||
width: 150px; /* this is a hack. need to figure out exactly where (else) it's being set. */
|
||||
}
|
||||
btn
|
||||
.thumbnail {
|
||||
width: auto;
|
||||
height: auto;
|
||||
max-width: 100px;
|
||||
max-height: 100px;
|
||||
border: 0;
|
||||
|
||||
}
|
||||
|
||||
div.sponsor-list {
|
||||
min-width: 100px;
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
legend {
|
||||
color: #a6e9f5;
|
||||
}
|
||||
|
||||
.pad-buttons {
|
||||
padding: 200px 0 20px 0;
|
||||
}
|
||||
|
||||
.team-table {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.dashboard-panel {
|
||||
border: solid black 1px;
|
||||
border-radius: 6px;
|
||||
background-color: #eee;
|
||||
padding: 20px 20px 20px 20px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.btn__black {
|
||||
color: black;
|
||||
border-color: black;
|
||||
}
|
Loading…
Reference in a new issue