Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
GeoInt_SIDT
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Mario Chirinos Colunga
GeoInt_SIDT
Commits
fff0e807
Commit
fff0e807
authored
Feb 27, 2019
by
Ulises Morales Ramírez
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dashboard
parent
887afe20
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
233 additions
and
201 deletions
+233
-201
dashboard.html
administration/templates/dashboard.html
+208
-196
views.py
administration/views.py
+22
-3
models.py
catalog/models.py
+1
-1
views.py
catalog/views.py
+2
-1
No files found.
administration/templates/dashboard.html
View file @
fff0e807
...
@@ -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)'
,
...
...
administration/views.py
View file @
fff0e807
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
})
# ----------------------------------------------------------
# ----------------------------------------------------------
...
...
catalog/models.py
View file @
fff0e807
...
@@ -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'
)
...
...
catalog/views.py
View file @
fff0e807
...
@@ -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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment