Skip to content
Snippets Groups Projects
Commit e57b11f2 authored by Alice Heaton's avatar Alice Heaton :speech_balloon:
Browse files

Merge branch 'staging' into chart_widget

Conflicts:
	django/website/dashboard/templates/dashboard/basic-text-widget.html
	django/website/local_settings.py.dev
parents ab0d0c48 cb955809
No related branches found
No related tags found
No related merge requests found
Showing
with 612 additions and 349 deletions
......@@ -18,7 +18,7 @@ djangorestframework-bulk==0.2.1
pytest-django==2.8.0
factory_boy
mock
mock==1.0.1
py==1.4.29
django.js==0.8.1
......
.dashboard .panel-heading {
padding:10px 15px;
}
.dashboard .panel {
margin-bottom: 20px;
}
.dashboard .panel-heading {
height: 40px;
padding: 10px 15px;
}
.dashboard .widget-height-small {
height: 120px;
}
......@@ -21,7 +22,7 @@
height: 280px;
}
.dashboard .widget-height-medium .panel-body {
height: 240px;
height: 210px;
}
.dashboard .widget-height-tall {
height: 420px;
......
<div class='panel panel-default'>
<div class='panel-heading'>
<i class='fa fa-list fa-fw'></i>
<span class='fa fa-align-justify fa-fw'></span>
{{ title }}
</div>
<div class='panel-body'>
......
......@@ -10,11 +10,7 @@
{% endblock %}
{% block maincontent %}
<ul class="nav nav-tabs navbar-right">
<li class="active"><a href="#home" data-toggle="tab">Ebola Questions</a></li>
<li><a href="#profile" data-toggle="tab">Rumors</a></li>
</ul>
<h1 class="page-header"><i class="fa fa-dashboard fa-fw"></i>{% trans "Dashboard" %}</h1>
<h1 class="page-header"><span class="fa fa-dashboard fa-fw"></span>{% trans "Dashboard" %}</h1>
{# Actual widgets #}
{% for row in rows %}
<div class='row dashboard'>
......@@ -26,11 +22,11 @@
</div>
{% endfor %}
{# "Example canned data" #}
<div class="row">
<div class="row dashboard">
<div class="col-lg-8">
<div class="panel panel-default">
<div class="panel panel-red">
<div class="panel-heading">
<i class="fa fa-bar-chart-o fa-fw"></i>Ebola Questions this week
<span class="fa fa-bar-chart-o fa-fw"></span>Ebola Questions this week
</div>
<!-- /.panel-heading -->
<div class="panel-body">
......@@ -42,9 +38,9 @@
</div>
<!-- /.col-lg-8 -->
<div class="col-lg-4">
<div class="panel panel-default">
<div class="panel panel-blue">
<div class="panel-heading">
<i class="fa fa-list fa-fw"></i>Blank widget space
<span class="fa fa-list fa-fw"></span>Blank widget space
</div>
<!-- /.panel-heading -->
<div class="panel-body">
......@@ -57,105 +53,106 @@
<!-- /.col-lg-4 -->
</div>
<!-- /.row -->
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
<i class="fa fa-table fa-fw"></i> Recent Messages
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
Actions
<span class="caret"></span>
</button>
<ul class="dropdown-menu pull-right" role="menu">
<li><a href="#">Action</a>
</li>
<li><a href="#">Another action</a>
</li>
<li><a href="#">Something else here</a>
</li>
<li class="divider"></li>
<li><a href="#">Separated link</a>
</li>
</ul>
</div>
</div>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<div class="row">
<div class="table-responsive">
<table class="table table-bordered table-hover table-striped">
<thead>
<tr>
<th>County</th>
<th>Date</th>
<th>Question</th>
<th>Type</th>
</tr>
</thead>
<tbody>
<tr>
<td>Lofa</td>
<td>5/7/15</td>
<td>What is the cause of ebola?</td>
<td>Origin</td>
</tr>
<tr>
<td>Montserrado</td>
<td>5/7/15</td>
<td>Is ebola still here or not?</td>
<td>Updates</td>
</tr>
<tr>
<td>Margibi</td>
<td>5/7/15</td>
<td>When will Liberia be free from ebola</td>
<td>Updates</td>
</tr>
<tr>
<td>Sinoe</td>
<td>5/7/15</td>
<td>How did Ebola come to Liberia?</td>
<td>Origin</td>
</tr>
<tr>
<td>Montserrado</td>
<td>5/7/15</td>
<td>HOW DO EBOLA TREAT A PERSON</td>
<td>Measures</td>
</tr>
<tr>
<td>Montserrado</td>
<td>5/7/15</td>
<td>I have been told that very soon that Liberia will be declar ebolo free now i want to know if there is any ebola case</td>
<td>Updates</td>
</tr>
<tr>
<td>Montserrado</td>
<td>5/7/15</td>
<td>EBOLA STILL IN LIBERIA?</td>
<td>Updates</td>
</tr>
<tr>
<td>Montserrado</td>
<td>5/7/15</td>
<td>How Many Person Have Die From Ebola In Liberia?</td>
<td>Numbers</td>
</tr>
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /.col-lg-4 (nested) -->
</div>
<!-- /.row -->
</div>
<!-- /.panel-body -->
</div>
</div><!-- /.col-lg-12 -->
<div class="row dashboard">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
<span class="fa fa-table fa-fw"></span> Recent Messages
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
Actions
<span class="caret"></span>
</button>
<ul class="dropdown-menu pull-right" role="menu">
<li><a href="#">Action</a>
</li>
<li><a href="#">Another action</a>
</li>
<li><a href="#">Something else here</a>
</li>
<li class="divider"></li>
<li><a href="#">Separated link</a>
</li>
</ul>
</div>
</div>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<div class="row">
<div class="table-responsive">
<table class="table table-hover table-striped table-no-border">
<thead>
<tr>
<th>County</th>
<th>Date</th>
<th>Question</th>
<th>Type</th>
</tr>
</thead>
<tbody>
<tr>
<td>Lofa</td>
<td>5/7/15</td>
<td>What is the cause of ebola?</td>
<td>Origin</td>
</tr>
<tr>
<td>Montserrado</td>
<td>5/7/15</td>
<td>Is ebola still here or not?</td>
<td>Updates</td>
</tr>
<tr>
<td>Margibi</td>
<td>5/7/15</td>
<td>When will Liberia be free from ebola</td>
<td>Updates</td>
</tr>
<tr>
<td>Sinoe</td>
<td>5/7/15</td>
<td>How did Ebola come to Liberia?</td>
<td>Origin</td>
</tr>
<tr>
<td>Montserrado</td>
<td>5/7/15</td>
<td>HOW DO EBOLA TREAT A PERSON</td>
<td>Measures</td>
</tr>
<tr>
<td>Montserrado</td>
<td>5/7/15</td>
<td>I have been told that very soon that Liberia will be declar ebolo free now i want to know if there is any ebola case</td>
<td>Updates</td>
</tr>
<tr>
<td>Montserrado</td>
<td>5/7/15</td>
<td>EBOLA STILL IN LIBERIA?</td>
<td>Updates</td>
</tr>
<tr>
<td>Montserrado</td>
<td>5/7/15</td>
<td>How Many Person Have Die From Ebola In Liberia?</td>
<td>Numbers</td>
</tr>
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /.col-lg-4 (nested) -->
</div>
<!-- /.row -->
</div>
<!-- /.panel-body -->
</div>
</div><!-- /.col-lg-12 -->
</div>
{% endblock maincontent %}
{% block lastjs %}
......
......@@ -3,7 +3,7 @@
{% load bootstrap3 %}
{% block maincontent %}
<h1 class="page-header"><i class="fa fa-download fa-fw"></i>{% trans "Sources" %}</h1>
<h1 class="page-header"><span class="fa fa-download fa-fw"></span>{% trans "Sources" %}</h1>
<ul class="list-unstyled">
{% for source in sources %}
<li class="well item-source clearfix">
......@@ -13,9 +13,9 @@
<form action="{% url "sources-upload" %}" method="post" enctype="multipart/form-data" class="item-source-actions pull-right">
{% csrf_token %}
<a class="btn btn-primary btn-block btn-sm" value="View/Edit data" type="button" href="{% url "data-view" %}"><i class="fa fa-pencil fa-fw"></i> View &amp; Edit data</a>
<a class="btn btn-primary btn-block btn-sm" value="View/Edit data" type="button" href="{% url "data-view" %}"><span class="fa fa-pencil fa-fw"></span> View &amp; Edit data</a>
{% bootstrap_form source.form show_label=False %}
<a class="btn-sm item-source-upload btn-block btn-primary" type="button" value="Upload" href="{% url "data-view" %}"><i class="fa fa-upload fa-fw"></i> Upload</a>
<a class="btn-sm item-source-upload btn-block btn-primary" type="button" value="Upload" href="{% url "data-view" %}"><span class="fa fa-upload fa-fw"></span> Upload</a>
</form>
</li>
{% endfor %}
......
......@@ -5,7 +5,7 @@
<div class="table-container">
{% endif %}
{% block table %}
<table{% if table.attrs %} {{ table.attrs.as_html }}{% endif %}>
<table class="table table-hover table-striped table-no-border"{% if table.attrs %} {{ table.attrs.as_html }}{% endif %}>
{% nospaceless %}
{% block table.thead %}
<thead>
......@@ -53,9 +53,11 @@
{% with table.page.paginator.count as total %}
{% with table.page.object_list|length as count %}
{% block pagination %}
<ul class="pagination {{ pagination_class }}">
{% if table.page.has_previous %}
{% nospaceless %}{% block pagination.previous %}<li class="previous"><a href="{% querystring table.prefixed_page_field=table.page.previous_page_number %}">{% trans "Previous" %}</a></li>{% endblock pagination.previous %}{% endnospaceless %}
{% nospaceless %}{% block pagination.previous %}<li class="previous"><a title="previous" class="btn btn-primary btn-circle" href="{% querystring table.prefixed_page_field=table.page.previous_page_number %}"><span class="fa fa-chevron-left fw"></span></a></li>{% endblock pagination.previous %}{% endnospaceless %}
{% endif %}
{% if table.page.has_previous or table.page.has_next %}
......@@ -63,7 +65,7 @@
{% endif %}
{% if table.page.has_next %}
{% nospaceless %}{% block pagination.next %}<li class="next"><a href="{% querystring table.prefixed_page_field=table.page.next_page_number %}">{% trans "Next" %}</a></li>{% endblock pagination.next %}{% endnospaceless %}
{% nospaceless %}{% block pagination.next %}<li class="next"><a class="btn btn-primary btn-circle" title="next" href="{% querystring table.prefixed_page_field=table.page.next_page_number %}"><span class="fa fa-chevron-right fw"></span></a></li>{% endblock pagination.next %}{% endnospaceless %}
{% endif %}
{% nospaceless %}{% block pagination.cardinality %}<li class="cardinality">{% if total != count %}{% blocktrans %}{{ count }} of {{ total }}{% endblocktrans %}{% else %}{{ total }}{% endif %} {% if total == 1 %}{{ table.data.verbose_name }}{% else %}{{ table.data.verbose_name_plural }}{% endif %}</li>{% endblock pagination.cardinality %}{% endnospaceless %}
......
......@@ -4,19 +4,41 @@
{% load render_table from django_tables2 %}
{% block maincontent %}
<h1 class="page-header"><i class="fa fa-pencil fa-fw"></i>{% trans "View &amp; Edit" %}</h1>
<form action="{% url "data-view-process" %}" method="post" class="view-items-form">{% csrf_token %}
{% with pagination_class="col-lg-12 pull-right pager" %}
<div class="col-lg-4 pull-right view-items-actions">
{% bootstrap_button "Save Changes" button_type="submit" value="Update" button_class="btn-sm pull-right btn-primary table-submit" %}
</div>
{% render_table table %}
{% endwith %}
{% block table_finished %}
{% bootstrap_button "Save Changes" button_type="submit" value="Update" button_class="btn-sm btn-primary pull-right table-submit" %}
{% endblock table_finished %}
</form>
<ul class="nav nav-pills navbar-right nav-hanging-tabs">
<li class="active"><a href="#home" data-toggle="tab">All</a></li>
<li><a href="#profile" data-toggle="tab">Questions</a></li>
<li><a href="#profile" data-toggle="tab">Rumors</a></li>
</ul>
<h1 class="page-header"><span class="fa fa-pencil fa-fw"></span>{% trans "View &amp; Edit" %}</h1>
<div class='row'>
<div class="col-lg-12">
<form action="{% url "data-view-process" %}" method="post" class="view-items-form">{% csrf_token %}
<div class="panel panel-default">
<div class="panel-heading">
<span class="fa fa-table fa-fw"></span> Questions
<div class="pull-right">
<div class="btn-group">
{% bootstrap_button "Save Changes" button_type="submit" value="Update" button_class="btn btn-success btn-sm table-submit" %}
</div>
</div>
</div>
<div class="panel-body">
{% with pagination_class="pagination-circle-nav" %}
{% render_table table %}
{% endwith %}
</div>
<div class="panel-footer clearfix">
{% bootstrap_button "Save Changes" button_type="submit" value="Update" button_class="btn btn-success pull-right btn-sm table-submit" %}
</div>
</div>
</form>
</div>
</div>
{% endblock maincontent %}
{% block lastjs %}
......
{% load json_data %}
<div class='panel panel-default'>
<div class='panel-heading'>
<i class='fa fa-bar-chart-o fa-fw'></i>
<span class='fa fa-bar-chart-o fa-fw'></span>
{{name}}
</div>
<div class='panel-body'>
......
......@@ -94,6 +94,7 @@ def test_get_categories_filters_out_removed():
@pytest.fixture
def request_item():
'''Create item and request'''
msg = {'body': "Message text"}
transport.items.create(msg)
......
This diff is collapsed.
......@@ -6,5 +6,7 @@
@import "internews-cosmo.less";
@import "view-edit.less";
@import "sources.less";
@import "widgets.less";
@import "navigation.less";
@import "../bootstrap/less/mixins.less";
@import "../bootstrap/less/utilities.less";
\ No newline at end of file
......@@ -150,6 +150,7 @@ table,
& > li > a {
border-radius: 0;
background-color:@gray-lightest;
}
}
......
// Box shadow
// @position = default, inset
// @horizontal = offset
// @transparency =
.box-shadow(@horizontal, @vertical, @spread:5px, @color: rgba(0,0,0,0.4)) {
-webkit-box-shadow:@arguments;
-moz-box-shadow:@arguments;
......@@ -10,9 +6,9 @@
box-shadow:@arguments;
}
.box-shadow-inset(@position:inset, @horizontal:5, @vertical:0, @spread:10px, @color: rgba(0,0,0,0.2)) {
.box-shadow-inset(@position:inset, @horizontal:0, @vertical:0, @spread:10px, @color: rgba(51,51,51,0.38)) {
-webkit-box-shadow:@arguments;
-moz-box-shadow:@arguments;
-o-box-shadow:@arguments;
box-shadow:@arguments;
}
}
\ No newline at end of file
......@@ -8,20 +8,20 @@
//
//## Gray and brand colors for use across Bootstrap.
@gray-base: #000;
@gray-base: #5e5e5e;
@gray: #78716e;
@gray-darker: darken(@gray, 50%);
@gray-dark: darken(@gray, 30%);
@gray-light: #C3BCB4;
@gray-lighter: lighten(@gray-light, 20%);
@gray-lighter: #EDECEC;
@gray-lightest: lighten(@gray-light, 40%);
@brand-primary: #4F63B8;
@brand-secondary: #404965;
@brand-success: #60A144;
@brand-primary: #0F6CB6;
@brand-secondary: #002D62;
@brand-success: #56AC4A;
@brand-info: #404965;
@brand-warning: #FF9F3C;
@brand-danger: #DE5D5A;
@brand-warning: #F29E30;
@brand-danger: #D8502F;
//== Scaffolding
......@@ -715,8 +715,8 @@
@panel-footer-bg: #f5f5f5;
@panel-default-text: @gray-dark;
@panel-default-border: #ddd;
@panel-default-heading-bg: #f5f5f5;
@panel-default-border: @gray-lighter;
@panel-default-heading-bg: #f7f7f7;
@panel-primary-text: #fff;
@panel-primary-border: @brand-primary;
......
......@@ -13,8 +13,8 @@ body {
#page-wrapper {
padding: 30px 15px;
min-height: 1000px;
background-color: white;
.box-shadow-inset(inset, 5px, 0px);
background-color: @gray-lighter;
.box-shadow-inset(inset, 0px, 0px);
}
@media(min-width:768px) {
......@@ -89,7 +89,7 @@ body {
}
.navbar-top-links > li > a,
.navbar-top-links > li > a > i {
.navbar-top-links > li > a > .fa {
color:@body-bg;
}
......@@ -157,7 +157,7 @@ body {
.sidebar ul li {
a {
&.active {
background-color: @gray-lightest;
background-color: @gray-lighter;
}
}
}
......@@ -244,7 +244,7 @@ body {
color: white;
}
.btn-primary > i {
.btn-primary > .fa {
color:@body-bg;
}
......@@ -310,18 +310,54 @@ body {
margin: 15px 0;
}
// Custom Colored Panels
// Panel customisation
.huge {
font-size: 40px;
}
.panel {
border:none;
border-color:transparent;
.box-shadow(0px, 0px, 5px, 4);
}
.panel-heading {
font-weight:bold;
padding:25px;
border:none;
.fa {
font-size:22px;
}
}
.panel-blue, .panel-primary {
border-color: @brand-primary;
.panel-heading {
border-color: @brand-primary;
color: white;
background-color: @brand-primary;
.fa {
color:white;
}
}
a {
color: @brand-success;
&:hover {
color: darken(@brand-success, 15%);
}
}
}
.panel-green {
border-color: @brand-success;
.panel-heading {
border-color: @brand-success;
color: white;
background-color: @brand-success;
.fa {
color:white;
}
}
a {
color: @brand-success;
......@@ -337,6 +373,9 @@ body {
border-color: @brand-danger;
color: white;
background-color: @brand-danger;
.fa {
color:white;
}
}
a {
color: @brand-danger;
......@@ -352,6 +391,9 @@ body {
border-color: @brand-warning;
color: white;
background-color: @brand-warning;
.fa {
color:white;
}
}
a {
color: @brand-warning;
......@@ -363,7 +405,7 @@ body {
//icons
.fa-fw {
color:@brand-secondary;
color:@gray-base;
margin-right:5px;
}
......
//internews navigation overrides
.nav-hanging-tabs {
margin-top:20px;
margin-right:0;
}
.nav-hanging-tabs > li > a {
background-color:rgba(0,0,0,0.05);
padding:14px 18px;
}
#side-menu {
padding-top:@navbar-padding-vertical;
}
// View/edit
.table-no-border > thead > tr > th, .table > tbody > tr > th,
.table-no-border > tfoot > tr > th, .table > thead > tr > td,
.table-no-border > tbody > tr > td, .table > tfoot > tr > td {
border:none;
}
.table .form-control {
line-height:1em;
height:inherit;
padding:5px;
}
.created, .timestamp {
td.created, td.timestamp {
color:@gray;
font-size:@font-size-small;
}
th.delete > input {
margin-right:10px;
}
th.delete > label {
margin-bottom:0;
}
.view-items-actions {
position:relative;
bottom:65px;
......@@ -25,7 +39,24 @@
}
}
.messages-box .alert {
padding:5px 10px;
.messages-box > ul {
margin-top:40px;
color:#fff;
}
.messages-box > ul > li {
padding:5px 10px;
}
//circle navigation
.pagination-circle-nav .btn-primary,
.pagination-circle-nav > li:first-child > a {
border:none;
padding:7px;
background-color:@brand-primary;
border-bottom-left-radius: 15px;
border-top-left-radius: 15px;
float:inherit;
}
......@@ -63,7 +63,7 @@ USE_L10N = True
# See: https://docs.djangoproject.com/en/dev/ref/settings/#use-tz
USE_TZ = True
SHORT_DATETIME_FORMAT = 'D d/m/y H:i'
SHORT_DATETIME_FORMAT = 'd M Y H:i'
# TODO this is used in hid/tables.py
# and should probably use FORMAT_MODULE_PATH instead.?
......
{% extends "base.html" %}
{% load i18n %}
{% block content %}
<!-- Navigation -->
<div class="navbar-default sidebar" role="navigation">
<div class="featured-image">
<img class="img-responsive" src="{{ STATIC_URL }}images/rsz_west-african-girl.jpg" alt="West African girl" />
</div>
<nav class="sidebar-nav navbar-collapse">
<ul class="nav" id="side-menu">
<li><a href="{% url "dashboard" %}"><i class="fa fa-dashboard fa-fw"></i> Dashboard</a></li>
<li><a href="{% url "sources" %}"><i class="fa fa-download fa-fw"></i> Sources</a></li>
<li><a href="{% url "data-view" %}"><i class="fa fa-pencil fa-fw"></i> View &amp; Edit</a></li>
</ul>
</nav>
<div class="site-info">
<p>An <a href="http://www.internews.org" title="Internews website">Internews project</a><br />
Site by<a href="http://www.aptivate.org" title="Aptivate website"> Aptivate</a></p>
</div>
<!-- /.sidebar-collapse -->
</div>
<!-- /.sidebar -->
<nav class="navbar navbar-inverse navbar-static-top" role="navigation" style="margin-bottom: 0">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
</button>
<a class="navbar-brand pull-left" href="/">{% trans "HID " %}<span class="subtitle">{% trans "Humanitarian Information Dashboard" %}</span></a>
</div>
<!-- /.navbar-header -->
{% if request.user.is_authenticated %}
<ul class="nav navbar-top-links navbar-right">
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
<i class="fa fa-user fa-fw"></i> {{ request.user }} <i class="fa fa-caret-down"> </i>
</a>
<ul class="dropdown-menu dropdown-user">
<li><a href="#"><i class="fa fa-gear fa-fw"></i> Settings</a></li>
<li><a href="{% url "logout" %}?next={% url 'login' %}" class=""><i class="fa fa-sign-out fa-fw"></i>{% trans "Log out" %}</a></li>
</ul>
<!-- /.dropdown-user -->
</li>
</ul>
{% endif %}
<!-- /.navbar-top-links -->
</nav>
<!-- /Navigation -->
<!-- Main Content -->
<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<div class="row messages-box">
{% if messages %}
<ul class="list-unstyled">
{% for message in messages %}
<li{% if message.tags %} class="alert {{ message.tags }} {% if message.tags == "error" %}bg-danger{% else %}bg-success{% endif %}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
</div>
{% block maincontent %}
{% endblock maincontent %}
</div>
</div>
</div>
<!-- /Main Content -->
{% endblock content %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment