Changeset - 5256aeeda337
[Not reviewed]
0 6 1
Tobias Schulmann - 6 years ago 2018-06-24 01:07:10
tobias.schulmann@googlemail.com
Started dashboard design
7 files changed with 114 insertions and 52 deletions:
0 comments (0 inline, 0 general)
pinaxcon/templates/_form_btns.html
Show inline comments
 
new file 100644
 
<input class="btn btn-primary" type="submit" value="Save" />
 
          <a class="btn btn-default" href="{% url "dashboard" %}">Cancel</a>
...
 
\ No newline at end of file
pinaxcon/templates/_form_snippet.html
Show inline comments
 
{% load lca2018_tags %}
 
{% load bootstrap %}
 
{% load crispy_forms_tags %}
 

	
 
{% if form.non_field_errors %}
 
  <div class="has-errors">
 
    {{ form.non_field_errors }}
 
  </div>
 
  <br/>
 
{% endif %}
 

	
 
<blockquote>
 
  Fields marked with <strong>*</strong> are required.
 
  Fields marked with a<br/>* are required
 
</blockquote>
 

	
 
{{ form|bootstrap_horizontal }}
 
{% crispy form %}
pinaxcon/templates/dashboard.html
Show inline comments
 
{% extends "utility_page.html" %}
 
{% load staticfiles %}
 
{% load i18n %}
 
{% load proposal_tags %}
 
{% load review_tags %}
 
{% load teams_tags %}
 
{% load registrasion_tags %}
 
{% load lca2018_tags %}
 
{% load staticfiles %}
 

	
 

	
 
{% block header_title %}linux.conf.au 2019{% endblock %}
 
{% block header_lead %}User Dashboard{% endblock %}
 

	
 
{% block main_class %}{% endblock %}
 

	
 
{% block content %}
 

	
 
{% available_categories as categories %}
 
<div class="container">
 
<h1 class="text-primary mb-5">Dashboard</h1>
 
</div>
 
{% if categories %} 
 

	
 
{% if user.is_staff %}
 
<div class="container">
 
        <div class="page-header">
 
  <h2>Administration</h2>
 
        </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="col-12">
 
    <h2>{% trans "Attend" %} {% conference_name %}</h2>
 
  </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 create an attendee profile and purchase your ticket</p>
 
        <a class="btn btn-lg btn-success" role="button" href="{% url "guided_registration" %}">Get your ticket</a>
 
      </div>
 
    </div>
 
    {% else %}
...
 
@@ -149,160 +150,158 @@
 
            {% 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 %}
 
  </div>
 
</div>
 
  {% endif %}
 
  
 

	
 
<div class="container">
 
<div class="row">
 
    <div class="col-12">
 
      <h2>{% trans "Speaking and Miniconfs" %}</h2>
 
        <div class="card">
 
            <div class="card-header">
 
                Speaker Profile
 
              </div>
 
            <div class="card-body">
 
              <p class="card-text">
 
                  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.
 
      <h2 class="text-primary mb-5">{% trans "Speaking and Miniconfs" %}</h2>
 
    </div>
 
</div>
 
  
 
<div class="row">
 
    <div class="col-md-6 text-primary d-flex flex-column">
 
      <h3 class="text-upper">Speaker Profile</h3>
 
      {% if not user.speaker_profile %}
 
      <p>
 
        To create a speaking or miniconf proposal you must first create a speaker 
 
        profile.
 
      </p>
 
      {% endif %}
 
      <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>
 
      <div class="mt-auto">
 
        {% if not user.speaker_profile %}
 
                <p class="card-text">To create a speaking or miniconf proposal you must first create a speaker profile.</p>
 
                <a href="{% url "speaker_create" %}" class="btn btn-primary">Create Profile</a>
 
        <a href="{% url "speaker_create" %}" class="btn btn-primary btn-lg" role="button">Create Profile</a>
 
        {% else %}
 
                <a class="btn btn-primary" role="button" href="{% url "speaker_edit" %}">Edit Profile</a>
 
        <a href="{% url "speaker_edit" %}" class="btn btn-primary btn-lg" role="button">Edit Profile</a>
 
        {% endif %}
 
      </div>
 
    </div>
 
    
 

	
 
    {% 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">
 
    <div class="col-md-6 text-primary d-flex flex-column">
 
      <h3 class="text-upper">New Proposal</h3>
 
      <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 class="mt-auto">
 
        <a class="btn btn-lg btn-primary" role="button" href="{% url "proposal_submit" %}">New Proposal</a>
 
      </div>
 
    </div>
 
    {% endif %}
 
</div>
 

	
 
</div>
 

	
 

	
 
{% 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 %}
 
  </div>
 
</div>
 
{% endif %}
 
{% endif %}
 

	
 

	
 
{% 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 %}
 

	
 
  {% if review_sections %}
 
<div class="bg-primary text-secondary mt-5 pb-5">
 
<div class="container">
 
      <div class="page-header">
 
        <h2>{% trans "Reviews" %}</h2>
 
      </div>
 
      <div class="page-row">
 

	
 
{% if review_sections %}
 
<div class="row">
 
  <h2 class="col-12 my-5">{% trans "Reviews" %}</h2>
 
  {% 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>
 
  <div class="col-md-6">
 
    <h3>{{ section }}</h3>
 
          <ul class="list-unstyled">
 
            <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>
 
          {% if section in manage_sections %}
 
                <ul>
 
          <ul class="list-unstyled">
 
            <li><a href="{% url "review_bulk_update" section.section.slug %}">Bulk Update</a></li>
 
            <li><a href="{% url "result_notification" section.section.slug "accepted" %}">Send notifications</a></li>
 
            <li><a href="{% url "review_status" section.section.slug %}">Voting Status</a></li>
 
            <li><a href="{% url "review_admin" section.section.slug %}">Reviewer Stats</a></li>
 
          </ul>
 
          {% endif %}
 
  </div>
 
            </div>
 
          </div>
 
  {% endfor %}
 
</div>
 
    </div>
 
{% endif %}
 

	
 
</div>
 
</div>
 
{% available_teams as available_teams %}
 
{% if user.memberships.exists or available_teams %}
 
<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>
pinaxcon/templates/site_base.html
Show inline comments
...
 
@@ -31,49 +31,49 @@
 
  {% block extra_style %}{% endblock %}
 
  {% endblock %}
 
  
 
  
 
  {% block extra_head_base %}
 
  {% block extra_head %}{% endblock %}
 
  {% endblock %}
 
</head>
 
<body class="{% block body_class %}{% endblock %}">
 
  {% block template_overrides %}{% endblock %}
 
  <header class="clearfix hidden-print">
 
      {% block navbar %}{% include 'nav.html' %}{% endblock %}
 
  </header>
 
    
 
  <main role="main" class="{% block main_class %}container{% endblock %}">
 
    {% if messages %}
 
    <ul class="messagelist hidden-print">
 
      {% for message in messages %}
 
      <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
 
      {% endfor %}
 
    </ul>
 
    {% endif %}
 
    
 
    
 

	
 
    <h1 class="text-primary text-upper h2 mb-5">{% block page_title %}{% endblock %}</h1>
 

	
 
    {% block body_base %}
 
    {% block body %}
 
    
 
    <div class="row">
 
      <div class="col-md-1">
 
        {% block body_outer %}
 
        {% endblock %}
 
      </div>
 
    </div>
 
    {% block content %}
 
    {% endblock %}
 
    {% endblock %}
 
    {% endblock %}
 
    
 
    {% block footer_base %}
 
    {% block footer %}
 
    {% endblock %}
 
    {% endblock %}
 
    
 
    {% block scripts %}
 
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
 
    <script src="{% static 'js/app.js' %}" type="text/javascript"></script>
 
    <script src="{% static 'js/jquery.formset.js' %}"></script>
pinaxcon/templates/symposion/speakers/speaker_create.html
Show inline comments
 
{% extends "symposion/speakers/base.html" %}
 

	
 
{% load i18n %}
 

	
 
{% block head_title %}{% trans "Create Speaker Profile" %}{% endblock %}
 
{% block page_title %}{% trans "Create Speaker Profile" %}{% endblock %}
 

	
 
{% block proposals_body %}
 
    <form class="form-horizontal" method="POST" action="" enctype="multipart/form-data">
 
        {% csrf_token %}
 
        <fieldset>
 
          {% include "_form_snippet.html" with form=speaker_form %}
 
          <div class="btn-group">
 
              <input class="btn btn-primary" type="submit" value="Save" />
 
              <a class="btn btn-default" href="{% url "dashboard" %}">Cancel</a>
 
          </div>
 
          {% include "_form_btns.html" %}
 
        </fieldset>
 
    </form>
 
{% endblock %}
pinaxcon/templates/symposion/speakers/speaker_edit.html
Show inline comments
 
{% extends "symposion/speakers/base.html" %}
 

	
 
{% load i18n %}
 

	
 
{% block head_title %}{% trans "Edit Speaker Profile" %}{% endblock %}
 
{% block page_title %}{% trans "Edit Speaker Profile" %}{% endblock %}
 

	
 
{% block proposals_body %}
 
    <form class="form-horizontal" method="POST" action="" enctype="multipart/form-data">
 
        {% csrf_token %}
 
        <fieldset>
 
          {% include "_form_snippet.html" with form=speaker_form %}
 
          <div class="btn-group">
 
              <input class="btn btn-primary" type="submit" value="Save" />
 
              <a class="btn btn-default" href="{% url "dashboard" %}">Cancel</a>
 
          </div>
 
          {% include "_form_btns.html" %}
 
        </fieldset>
 
    </form>
 
{% endblock %}
static/src/scss/app.scss
Show inline comments
...
 
@@ -20,48 +20,52 @@ body {
 
    overflow-x: hidden;
 
}
 

	
 
.navbar-brand {
 
    width: 200px;
 

	
 
    img {
 
        max-width: 100%;
 
        height: auto;
 
    }
 
    
 
}
 

	
 
.text-page {
 
    h2 {
 
        padding-top: 3rem;
 
        padding-bottom: 2rem;
 
    }
 
    
 
    h1 {
 
        padding-bottom: 6rem;
 
    }
 
}
 

	
 
.text-upper {
 
    text-transform: uppercase;
 
}
 

	
 
.navbar-collapse {
 
    margin-left: $padding-left-default;
 
}
 

	
 

	
 
.navbar-toggler {
 
    border: 0 !important;
 
    
 
    &.green-toggler {
 
        .navbar-toggler-icon {
 
            background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(15,124,17, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
 
        }
 
    }
 

	
 
    &.white-toggler {
 
        .navbar-toggler-icon {
 
            background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
 
        }
 
    }
 
} 
 

	
 

	
 
html {
 
    font-size: 16px;
...
 
@@ -163,24 +167,86 @@ main.container-fluid {
 

	
 
        @include media-breakpoint-down(sm) {
 
            min-width: 80%;
 
        }    
 

	
 
        img {
 
            max-width: 100%;
 
            height: auto;
 
        }
 
    }
 
   
 
    overflow-x: auto;
 
    -webkit-overflow-scrolling: touch;
 

	
 
    &::-webkit-scrollbar {
 
        display: none;
 
    }
 
}
 

	
 
#map {
 
    width: 100%;
 
    height: 480px;
 
    filter: grayscale(100%);
 
}
 

	
 
.btn-lg {
 
    padding: 0.8rem 4.5rem;
 
    font-size: 1rem;
 
    line-height: 1.5;
 
}
 

	
 
.btn {
 
    padding: 0.4rem 2.25rem;
 
    font-size: 1rem;
 
    border-radius: 0;
 
    text-transform: uppercase;
 
}
 

	
 
.jumbotron {
 
    border-radius: 0;
 
    background-color: rgba(204, 213, 197, 0.1);
 
    border: 1px $primary solid;
 
    color: $primary;
 
    padding: 5rem 6rem ;
 
}
 

	
 
.col-form-label, .form-check-label {
 
    font-weight: bold;
 
}
 

	
 
.form-text.text-muted {
 
    color: $primary !important;
 
    margin-bottom: 1rem;
 
}
 

	
 
fieldset {
 
    blockquote {
 
        font-size: 80%;
 
    }
 
}
 

	
 
.form-control {
 
    border-radius: 0;
 
    border: 2px $primary solid;
 

	
 
    &:focus {
 
        border: 2px $primary solid;
 
    }
 
}
 

	
 
label.form-check-label {
 
    display: flex;
 
    align-items: center
 
}
 

	
 
h3 {
 
    text-transform: uppercase;
 
}
 

	
 

	
 
main {
 
    a {
 
        color: #f5843e;
 
        font-weight: 600;
 
    }
 
}
0 comments (0 inline, 0 general)