dashboard

parent 887afe20
...@@ -117,36 +117,9 @@ ...@@ -117,36 +117,9 @@
{% block content %} {% block content %}
<div class="wrapper" style="background-color: #ecf0f5;">
<!--div class="col-md-4">
<!-- Info Boxes Style 2 -->
<!--div class="info-box bg-yellow">
<span class="info-box-icon"><i class="ion ion-ios-pricetag-outline"></i></span>
<div class="info-box-content">
<span class="info-box-text">Inventory</span>
<span class="info-box-number">5,200</span>
<div class="progress">
<div class="progress-bar" style="width: 50%"></div>
</div>
<span class="progress-description">
50% Increase in 30 Days
</span>
</div>
</div-->
</div>
<!-- Content Wrapper. Contains page content -->
<!-- Main content -->
<section class="content"> <section class="content">
<div class="row"> <div class="row">
<div class="col-md-3 col-sm-6 col-xs-12"> <div class="col-md-2 col-sm-6 col-xs-12">
<div class="info-box"> <div class="info-box">
<span class="info-box-icon bg-aqua"><i class="fa fa-shopping-cart"></i></span> <span class="info-box-icon bg-aqua"><i class="fa fa-shopping-cart"></i></span>
...@@ -164,7 +137,7 @@ ...@@ -164,7 +137,7 @@
<!-- /.info-box --> <!-- /.info-box -->
</div> </div>
<!-- /.col --> <!-- /.col -->
<div class="col-md-3 col-sm-6 col-xs-12"> <div class="col-md-2 col-sm-6 col-xs-12">
<div class="info-box"> <div class="info-box">
<span class="info-box-icon bg-red"><i class="fa fa-users"></i></span> <span class="info-box-icon bg-red"><i class="fa fa-users"></i></span>
...@@ -186,7 +159,7 @@ ...@@ -186,7 +159,7 @@
<!-- fix for small devices only --> <!-- fix for small devices only -->
<div class="clearfix visible-sm-block"></div> <div class="clearfix visible-sm-block"></div>
<div class="col-md-3 col-sm-6 col-xs-12"> <div class="col-md-2 col-sm-6 col-xs-12">
<div class="info-box"> <div class="info-box">
<span class="info-box-icon bg-green"><i class="fa fa-user-plus"></i></span> <span class="info-box-icon bg-green"><i class="fa fa-user-plus"></i></span>
...@@ -204,12 +177,12 @@ ...@@ -204,12 +177,12 @@
<!-- /.info-box --> <!-- /.info-box -->
</div> </div>
<!-- /.col --> <!-- /.col -->
<div class="col-md-3 col-sm-6 col-xs-12"> <div class="col-md-2 col-sm-6 col-xs-12">
<div class="info-box"> <div class="info-box">
<span class="info-box-icon bg-yellow"><i class="fa fa-download"></i></span> <span class="info-box-icon bg-yellow"><i class="fa fa-download"></i></span>
<div class="info-box-content"> <div class="info-box-content">
<span class="info-box-text">Downloads in process</span> <span class="info-box-text">Processing</span>
<span class="info-box-number">{{ Descargando }}</span> <span class="info-box-number">{{ Descargando }}</span>
<span class="info-box-more pull-right"> <span class="info-box-more pull-right">
<a href="#" class="small-box-footer"> <a href="#" class="small-box-footer">
...@@ -221,193 +194,232 @@ ...@@ -221,193 +194,232 @@
</div> </div>
<!-- /.info-box --> <!-- /.info-box -->
</div> </div>
<!-- /.col -->
</div>
<div class="col-md-2 col-sm-6 col-xs-12">
<div class="info-box">
<span class="info-box-icon bg-fuchsia-active"><i class="fa fa-pie-chart"></i></span>
<!--div class="row"> <div class="info-box-content">
<div class="col-lg-3 col-6"> <span class="info-box-text">Repsat Storage</span>
<span class="info-box-number">{{ size_repsat }}</span>
<div class="small-box bg-info"> <span class="info-box-more pull-right">
<div class="inner"> <a href="#" class="small-box-footer">
<h3>{{ Total_compras }}</h3> More info <i class="fa fa-arrow-circle-right"></i>
<p>Purchases</p> </a>
</div> </span>
<div class="icon">
<i class="fa fa-shopping-cart"></i>
</div> </div>
<a href="#" class="small-box-footer"> <!-- /.info-box-content -->
More info <i class="fa fa-arrow-circle-right"></i>
</a>
</div> </div>
<!-- /.info-box -->
</div> </div>
<div class="col-lg-3 col-6"> <div class="col-md-2 col-sm-6 col-xs-12">
<div class="small-box bg-success"> <div class="info-box">
<div class="inner"> <span class="info-box-icon bg-orange"><i class="fa fa-bomb"></i></span>
<h3>{{ Usuarios }}</h3>
<p>Active Users</p> <div class="info-box-content">
</div> <span class="info-box-text">Sentinel Storage</span>
<div class="icon"> <span class="info-box-number">{{ size_sentinel }}</span>
<i class="fa fa-users"></i> <span class="info-box-more pull-right">
<a href="#" class="small-box-footer">
More info <i class="fa fa-arrow-circle-right"></i>
</a>
</span>
</div> </div>
<a href="../../administration/users" class="small-box-footer"> <!-- /.info-box-content -->
More info <i class="fa fa-arrow-circle-right"></i>
</a>
</div> </div>
<!-- /.info-box -->
</div> </div>
<div class="col-lg-3 col-6"> </div>
<div class="small-box bg-warning">
<div class="inner">
<h3>{{ Solicitud }}</h3>
<p>User Registrations</p> <div class="row">
<div class="col-md-12">
<div class="box box-info">
<div class="box-header with-border">
<h3 class="box-title">Monthly Recap Report</h3>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i
class="fa fa-minus"></i>
</button>
</div>
</div> </div>
<div class="icon"> <!-- /.box-header -->
<i class="fa fa-user-plus"></i> <div class="box-body">
<div class="row">
<div class="col-md-8">
<p class="text-center">
<strong>Today {% now "jS F Y" %}</strong>
</p>
<div class="chart">
<!-- Sales Chart Canvas -->
<canvas id="salesChart" style="height: 142px; width: 814px;" width="814"
height="142"></canvas>
</div>
<!-- /.chart-responsive -->
</div>
<!-- /.col -->
<div class="col-md-4">
<p class="text-center">
<strong>Most Searched</strong>
</p>
<table class="table no-margin">
<thead>
<tr>
<th class="text-center">Search</th>
<th class="text-center">Searches</th>
</tr>
</thead>
<tbody>
{% for search in search %}
<tr>
<td>{{ search.search_name }}</td>
<td>{{ search.count }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<!-- /.col -->
</div>
<!-- /.row -->
</div> </div>
<a href="../../administration/request" class="small-box-footer"> <!-- ./box-body -->
More info <i class="fa fa-arrow-circle-right"></i> <!--div class="box-footer">
</a> <div class="row">
<div class="col-sm-3 col-xs-6">
<div class="description-block border-right">
<span class="description-percentage text-green"><i
class="fa fa-caret-up"></i> 17%</span>
<h5 class="description-header">$35,210.43</h5>
<span class="description-text">TOTAL REVENUE</span>
</div>
</div>
<div class="col-sm-3 col-xs-6">
<div class="description-block border-right">
<span class="description-percentage text-yellow"><i
class="fa fa-caret-left"></i> 0%</span>
<h5 class="description-header">$10,390.90</h5>
<span class="description-text">TOTAL COST</span>
</div>
</div>
<div class="col-sm-3 col-xs-6">
<div class="description-block border-right">
<span class="description-percentage text-green"><i
class="fa fa-caret-up"></i> 20%</span>
<h5 class="description-header">$24,813.53</h5>
<span class="description-text">TOTAL PROFIT</span>
</div>
</div>
<div class="col-sm-3 col-xs-6">
<div class="description-block">
<span class="description-percentage text-red"><i
class="fa fa-caret-down"></i> 18%</span>
<h5 class="description-header">1200</h5>
<span class="description-text">GOAL COMPLETIONS</span>
</div>
</div>
</div>
</div-->
<!-- /.box-footer -->
</div> </div>
<!-- /.box -->
</div> </div>
<div class="col-lg-3 col-6"> <!-- /.col -->
<div class="small-box bg-danger"> </div>
<div class="inner"> <br>
<h3>{{ Descargando }}</h3> <div class="row">
<div class="col-md-12">
<p>Downloading process</p> <div class="box box-success">
<div class="box-header with-border">
<h3 class="box-title">Purchases Per Month</h3>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i
class="fa fa-minus"></i>
</button>
</div>
</div> </div>
<div class="icon"> <!-- /.box-header -->
<i class="fa fa-download"></i> <div class="box-body">
<div class="row">
<div class="col-md-12">
<p class="text-center">
<strong>February</strong>
</p>
<div>
<table class="table table-hover">
<thead>
<tr>
<th>User</th>
<th>Purchases</th>
<th>Storage %</th>
<th>Downloads in process</th>
</tr>
</thead>
<tbody>
<tr>
<td>John</td>
<td>12</td>
<td>200 MB</td>
<td>0</td>
</tr>
</tbody>
</table>
</div>
<!-- /.chart-responsive -->
</div>
</div>
<!-- /.row -->
</div> </div>
<a href="#" class="small-box-footer"> <!-- ./box-body -->
More info <i class="fa fa-arrow-circle-right"></i> <!--div class="box-footer">
</a> <div class="row">
</div> <div class="col-sm-3 col-xs-6">
</div> <div class="description-block border-right">
</div--> <span class="description-percentage text-green"><i
class="fa fa-caret-up"></i> 17%</span>
<h5 class="description-header">$35,210.43</h5>
<div class="panel panel-default"> <span class="description-text">TOTAL REVENUE</span>
<div class="panel-heading">{{ Viewname }}</div>
<div class="panel-body text-center container-fluid">
<div class="row">
<div class="col-md-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">Monthly Recap Report</h3>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i
class="fa fa-minus"></i>
</button>
<!--div class="btn-group">
<button type="button" class="btn btn-box-tool dropdown-toggle"
data-toggle="dropdown">
<i class="fa fa-wrench"></i></button>
<ul class="dropdown-menu" 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>
<button type="button" class="btn btn-box-tool" data-widget="remove"><i
class="fa fa-times"></i></button-->
</div> </div>
</div> </div>
<!-- /.box-header --> <div class="col-sm-3 col-xs-6">
<div class="box-body"> <div class="description-block border-right">
<div class="row"> <span class="description-percentage text-yellow"><i
<div class="col-md-8"> class="fa fa-caret-left"></i> 0%</span>
<p class="text-center"> <h5 class="description-header">$10,390.90</h5>
<strong>Today {% now "jS F Y" %}</strong> <span class="description-text">TOTAL COST</span>
</p>
<div class="chart">
<!-- Sales Chart Canvas -->
<canvas id="salesChart" style="height: 142px; width: 814px;" width="814"
height="142"></canvas>
</div>
<!-- /.chart-responsive -->
</div>
<!-- /.col -->
<div class="col-md-4">
<p class="text-center">
<strong>Most Searched</strong>
</p>
<table class="table no-margin">
<thead>
<tr>
<th class="text-center">Search</th>
<th class="text-center">Searches</th>
</tr>
</thead>
<tbody>
{% for search in search %}
<tr>
<td>{{ search.search_name }}</td>
<td>{{ search.count }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<!-- /.col -->
</div> </div>
<!-- /.row -->
</div> </div>
<!-- ./box-body --> <div class="col-sm-3 col-xs-6">
<!--div class="box-footer"> <div class="description-block border-right">
<div class="row"> <span class="description-percentage text-green"><i
<div class="col-sm-3 col-xs-6"> class="fa fa-caret-up"></i> 20%</span>
<div class="description-block border-right"> <h5 class="description-header">$24,813.53</h5>
<span class="description-percentage text-green"><i <span class="description-text">TOTAL PROFIT</span>
class="fa fa-caret-up"></i> 17%</span>
<h5 class="description-header">$35,210.43</h5>
<span class="description-text">TOTAL REVENUE</span>
</div>
</div>
<div class="col-sm-3 col-xs-6">
<div class="description-block border-right">
<span class="description-percentage text-yellow"><i
class="fa fa-caret-left"></i> 0%</span>
<h5 class="description-header">$10,390.90</h5>
<span class="description-text">TOTAL COST</span>
</div>
</div>
<div class="col-sm-3 col-xs-6">
<div class="description-block border-right">
<span class="description-percentage text-green"><i
class="fa fa-caret-up"></i> 20%</span>
<h5 class="description-header">$24,813.53</h5>
<span class="description-text">TOTAL PROFIT</span>
</div>
</div>
<div class="col-sm-3 col-xs-6">
<div class="description-block">
<span class="description-percentage text-red"><i
class="fa fa-caret-down"></i> 18%</span>
<h5 class="description-header">1200</h5>
<span class="description-text">GOAL COMPLETIONS</span>
</div>
</div>
</div> </div>
</div--> </div>
<!-- /.box-footer --> <div class="col-sm-3 col-xs-6">
<div class="description-block">
<span class="description-percentage text-red"><i
class="fa fa-caret-down"></i> 18%</span>
<h5 class="description-header">1200</h5>
<span class="description-text">GOAL COMPLETIONS</span>
</div>
</div>
</div> </div>
<!-- /.box --> </div-->
</div> <!-- /.box-footer -->
<!-- /.col -->
</div> </div>
<!-- /.box -->
</div> </div>
<!-- /.col -->
</div> </div>
</section> </section>
<!-- /.content --> <!-- /.content -->
...@@ -489,8 +501,8 @@ ...@@ -489,8 +501,8 @@
label: 'Sales', label: 'Sales',
data: [ data: [
{% for dates in dates %} {% for dates in dates %}
{{ dates.quantity }}, {{ dates.quantity }},
{% endfor %} {% endfor %}
], ],
backgroundColor: [ backgroundColor: [
'rgba(255, 99, 132, 0.2)', 'rgba(255, 99, 132, 0.2)',
......
import calendar import calendar
import os
from django.contrib import messages from django.contrib import messages
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.db.models import Count from django.db.models import Count
...@@ -10,7 +11,9 @@ from PIL import Image ...@@ -10,7 +11,9 @@ from PIL import Image
# Create your views here. # Create your views here.
from catalog.models import Purchase, Search from catalog.models import Purchase, Search
from catalog.views import config
USERS_PATH = config['PATHS']['PATH_NAS']
def Dashboard(request): def Dashboard(request):
total = Purchase.objects.filter(purchased=True).count() total = Purchase.objects.filter(purchased=True).count()
...@@ -39,13 +42,29 @@ def Dashboard(request): ...@@ -39,13 +42,29 @@ def Dashboard(request):
for month in month_lst: for month in month_lst:
if month['date'] == date_name: if month['date'] == date_name:
month['quantity'] = date[1] month['quantity'] = date[1]
search_names =['']
Searches = Search.objects.values('search_name').exclude(search_name='Drawn polygon').annotate( Searches = Search.objects.values('search_name').exclude(search_name__in=search_names).annotate(
count=Count('search_name')).order_by('-count')[:5] count=Count('search_name')).order_by('-count')[:5]
print(USERS_PATH)
repsat = os.stat(USERS_PATH+"/repsat_test_dev").st_size
if repsat > 1000:
size2 = repsat / 1000
size_repsat = str(round(size2, 2)) + " GB"
else:
size_repsat = str(round(repsat, 2)) + " MB"
sentinel = os.stat(USERS_PATH + "/repsat_test_dev").st_size
if sentinel > 1000:
size2 = repsat / 1000
size_sentinel = str(round(size2, 2)) + " GB"
else:
size_sentinel = str(round(sentinel, 2)) + " MB"
return render(request, 'dashboard.html', return render(request, 'dashboard.html',
{"Viewname": "Dashboard", "Usuarios": usuarios, "Total_compras": total, "Solicitud": Request, {"Viewname": "Dashboard", "Usuarios": usuarios, "Total_compras": total, "Solicitud": Request,
"Descargando": in_process, "dates": month_lst, "search": Searches}) "Descargando": in_process, "dates": month_lst, "search": Searches,"size_repsat":size_repsat,"size_sentinel":size_sentinel})
# ---------------------------------------------------------- # ----------------------------------------------------------
......
...@@ -57,7 +57,7 @@ class Process(models.Model): ...@@ -57,7 +57,7 @@ class Process(models.Model):
class Search(models.Model): class Search(models.Model):
area = models.TextField(null=True) area = models.TextField(null=True)
search_name = models.TextField(default="Drawn polygon") search_name = models.TextField(default="Drawn polygon ")
user = models.ForeignKey(User, on_delete=models.CASCADE) user = models.ForeignKey(User, on_delete=models.CASCADE)
aggreg_date = models.DateTimeField(auto_now=True) # date of product aggregation aggreg_date = models.DateTimeField(auto_now=True) # date of product aggregation
startDate = models.DateTimeField(verbose_name='Start Date') startDate = models.DateTimeField(verbose_name='Start Date')
......
...@@ -86,7 +86,8 @@ def productList(request): ...@@ -86,7 +86,8 @@ def productList(request):
end_date = req['end'][0][:10] end_date = req['end'][0][:10]
clouds = req['cloudPercentage'][0] clouds = req['cloudPercentage'][0]
search_name = req['search_name'][0] search_name = req['search_name'][0]
print(search_name) if search_name == '':
search_name = 'Drawn Polygon'
cloud_percentage = "[0 TO " + req['cloudPercentage'][0] + "]" cloud_percentage = "[0 TO " + req['cloudPercentage'][0] + "]"
## ----- aqui llamada a api sentinel ## ----- aqui llamada a api sentinel
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment