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
Show 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 @@
{% 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"
>
<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"
>
<span
class=
"info-box-icon bg-aqua"
><i
class=
"fa fa-shopping-cart"
></i></span>
...
...
@@ -164,7 +137,7 @@
<!-- /.info-box -->
</div>
<!-- /.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"
>
<span
class=
"info-box-icon bg-red"
><i
class=
"fa fa-users"
></i></span>
...
...
@@ -186,7 +159,7 @@
<!-- fix for small devices only -->
<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"
>
<span
class=
"info-box-icon bg-green"
><i
class=
"fa fa-user-plus"
></i></span>
...
...
@@ -204,12 +177,12 @@
<!-- /.info-box -->
</div>
<!-- /.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"
>
<span
class=
"info-box-icon bg-yellow"
><i
class=
"fa fa-download"
></i></span>
<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-more pull-right"
>
<a
href=
"#"
class=
"small-box-footer"
>
...
...
@@ -221,82 +194,47 @@
</div>
<!-- /.info-box -->
</div>
<!-- /.col -->
</div>
<!--div class="row">
<div class="col-lg-3 col-6">
<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="small-box bg-info">
<div class="inner">
<h3>{{ Total_compras }}</h3>
<p>Purchases</p>
</div>
<div class="icon">
<i class="fa fa-shopping-cart"></i>
</div>
<div
class=
"info-box-content"
>
<span
class=
"info-box-text"
>
Repsat Storage
</span>
<span
class=
"info-box-number"
>
{{ size_repsat }}
</span>
<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>
<!-- /.info-box-content -->
</div>
<div class="col-lg-3 col-6">
<div class="small-box bg-success">
<div class="inner">
<h3>{{ Usuarios }}</h3>
<p>Active Users</p>
</div>
<div class="icon">
<i class="fa fa-users"></i>
</div>
<a href="../../administration/users" class="small-box-footer">
More info <i class="fa fa-arrow-circle-right"></i>
</a>
</div>
<!-- /.info-box -->
</div>
<div class="col-lg-3 col-6">
<div class="small-box bg-warning">
<div class="inner">
<h3>{{ Solicitud }}</h3>
<p>User Registrations</p>
</div>
<div class="icon">
<i class="fa fa-user-plus"></i>
</div>
<a href="../../administration/request" class="small-box-footer">
More info <i class="fa fa-arrow-circle-right"></i>
</a>
</div>
</div>
<div class="col-lg-3 col-6">
<div class="small-box bg-danger">
<div class="inner">
<h3>{{ Descargando }}</h3>
<div
class=
"col-md-2 col-sm-6 col-xs-12"
>
<div
class=
"info-box"
>
<span
class=
"info-box-icon bg-orange"
><i
class=
"fa fa-bomb"
></i></span>
<p>Downloading process</p>
</div>
<div class="icon">
<i class="fa fa-download"></i>
</div>
<div
class=
"info-box-content"
>
<span
class=
"info-box-text"
>
Sentinel Storage
</span>
<span
class=
"info-box-number"
>
{{ size_sentinel }}
</span>
<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>
<!-- /.info-box-content -->
</div>
<!-- /.info-box -->
</div>
</div>
</div-->
<div
class=
"panel panel-default"
>
<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 box-info
"
>
<div
class=
"box-header with-border"
>
<h3
class=
"box-title"
>
Monthly Recap Report
</h3>
...
...
@@ -304,20 +242,6 @@
<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>
<!-- /.box-header -->
...
...
@@ -405,9 +329,97 @@
</div>
<!-- /.col -->
</div>
<br>
<div
class=
"row"
>
<div
class=
"col-md-12"
>
<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>
<!-- /.box-header -->
<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>
<!-- ./box-body -->
<!--div class="box-footer">
<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>
<!-- /.box -->
</div>
<!-- /.col -->
</div>
</section>
<!-- /.content -->
...
...
administration/views.py
View file @
fff0e807
import
calendar
import
os
from
django.contrib
import
messages
from
django.contrib.auth.models
import
User
from
django.db.models
import
Count
...
...
@@ -10,7 +11,9 @@ from PIL import Image
# Create your views here.
from
catalog.models
import
Purchase
,
Search
from
catalog.views
import
config
USERS_PATH
=
config
[
'PATHS'
][
'PATH_NAS'
]
def
Dashboard
(
request
):
total
=
Purchase
.
objects
.
filter
(
purchased
=
True
)
.
count
()
...
...
@@ -39,13 +42,29 @@ def Dashboard(request):
for
month
in
month_lst
:
if
month
[
'date'
]
==
date_name
:
month
[
'quantity'
]
=
date
[
1
]
Searches
=
Search
.
objects
.
values
(
'search_name'
)
.
exclude
(
search_name
=
'Drawn polygon'
)
.
annotate
(
search_names
=
[
''
]
Searches
=
Search
.
objects
.
values
(
'search_name'
)
.
exclude
(
search_name
__in
=
search_names
)
.
annotate
(
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'
,
{
"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):
class
Search
(
models
.
Model
):
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
)
aggreg_date
=
models
.
DateTimeField
(
auto_now
=
True
)
# date of product aggregation
startDate
=
models
.
DateTimeField
(
verbose_name
=
'Start Date'
)
...
...
catalog/views.py
View file @
fff0e807
...
...
@@ -86,7 +86,8 @@ def productList(request):
end_date
=
req
[
'end'
][
0
][:
10
]
clouds
=
req
[
'cloudPercentage'
][
0
]
search_name
=
req
[
'search_name'
][
0
]
print
(
search_name
)
if
search_name
==
''
:
search_name
=
'Drawn Polygon'
cloud_percentage
=
"[0 TO "
+
req
[
'cloudPercentage'
][
0
]
+
"]"
## ----- 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