Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Vladislav Rykov
THSO.server
Commits
45a15aab
Commit
45a15aab
authored
Jun 06, 2020
by
Vladislav Rykov
Browse files
admin:add-device & device-settings with ddm added and tested
parent
3ad0d9a4
Changes
9
Show whitespace changes
Inline
Side-by-side
app/app/__pycache__/views.cpython-37.pyc
View file @
45a15aab
No preview for this file type
app/app/__pycache__/views_admin.cpython-37.pyc
View file @
45a15aab
No preview for this file type
app/app/static/js/application-add-device.js
View file @
45a15aab
...
...
@@ -38,6 +38,8 @@ function add_variable_name(id, type, name) {
input
.
setAttribute
(
"
class
"
,
"
form-control
"
);
input
.
setAttribute
(
"
id
"
,
"
varname_
"
+
id
);
input
.
setAttribute
(
"
name
"
,
"
varname_
"
+
id
);
input
.
setAttribute
(
"
required
"
,
"
true
"
);
if
(
typeof
name
!==
"
undefined
"
)
{
input
.
setAttribute
(
"
value
"
,
name
);
}
...
...
app/app/templates/new/admin/user-add-device.html
View file @
45a15aab
...
...
@@ -2,6 +2,10 @@
{% block title %} Administration - {{ user }} - Add Device - HPC
&
A IoT {% endblock %}
{% block header %}
<link
href=
"https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"
rel=
"stylesheet"
>
{% endblock %}
{% block location %}
<a
class=
"h4 mb-0 text-white text-uppercase d-none d-lg-inline-block"
href=
"/administration"
>
Administration
</a>
<p
class=
"h4 mb-0 text-white text-uppercase d-none d-lg-inline-block"
>
-
</p>
...
...
@@ -39,8 +43,18 @@
<label>
dev_id: {{ free_ids }}
</label><br>
<input
type=
"number"
size=
"3"
min=
"1"
max=
"255"
class=
"form-control"
id=
"devid"
name=
"devid"
required
><br>
</div>
<br>
<div
class=
"form-group"
>
<label
for=
"ddm"
>
Data Model:
</label>
<select
class=
"form-control"
id=
"ddm"
name=
"ddm"
onchange=
"return onddm();"
>
{% for k,v in models.items() %}
<option
value=
"{{ k }}"
>
{{ v }}
</option>
{% endfor %}
</select>
</div>
<div
id=
"ddm_div"
>
</div>
<br><br>
<div
class=
"form-group"
>
<button
type=
"submit"
class=
"btn btn-primary"
>
Add Device
</button>
</div>
...
...
@@ -51,3 +65,7 @@
</div>
</div>
{% endblock %}
{% block script %}
<script
type=
"text/javascript"
src=
"{{ url_for('static', filename='js/application-add-device.js') }}"
></script>
{% endblock %}
app/app/templates/new/admin/user-application-device-settings.html
View file @
45a15aab
...
...
@@ -2,6 +2,10 @@
{% block title %} Administration - {{ user }} - {{ app[0] }} - {{ dev[0] }} - Settings - HPC
&
A IoT {% endblock %}
{% block header %}
<link
href=
"https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"
rel=
"stylesheet"
>
{% endblock %}
{% block location %}
<a
class=
"h4 mb-0 text-white text-uppercase d-none d-lg-inline-block"
href=
"/administration"
>
Administration
</a>
<p
class=
"h4 mb-0 text-white text-uppercase d-none d-lg-inline-block"
>
-
</p>
...
...
@@ -36,6 +40,17 @@
<label>
Description:
</label><br>
<textarea
id=
"devdesc"
maxlength=
"200"
class=
"form-control"
name=
"devdesc"
rows=
"5"
></textarea>
</div>
<br>
<div
class=
"form-group"
>
<label
for=
"ddm"
>
Data Model:
</label>
<select
class=
"form-control"
id=
"ddm"
name=
"ddm"
onchange=
"return onddm();"
>
{% for k,v in models.items() %}
<option
value=
"{{ k }}"
>
{{ v }}
</option>
{% endfor %}
</select>
</div>
<div
id=
"ddm_div"
>
</div>
</form>
<br>
<div
class=
"row"
style=
"margin-top: 30px;"
>
...
...
@@ -79,5 +94,7 @@
{% block script %}
<script
type=
"text/javascript"
>
document
.
getElementById
(
"
devdesc
"
).
value
=
"
{{ dev[2] }}
"
;
var
device_data_model
=
{{
dev
[
3
]
|
safe
}};
</script>
<script
type=
"text/javascript"
src=
"{{ url_for('static', filename='js/application-add-device.js') }}"
></script>
{% endblock %}
app/app/templates/new/public/add-device.html
View file @
45a15aab
{% extends 'logged_layout.html' %}
{% block title %} HPC
&
A IoT
- Add Device
{% endblock %}
{% block title %}
Add device -
HPC
&
A IoT {% endblock %}
{% block header %}
<link
href=
"https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"
rel=
"stylesheet"
>
...
...
app/app/templates/new/public/device-settings.html
View file @
45a15aab
...
...
@@ -42,44 +42,8 @@
<option
value=
"{{ k }}"
>
{{ v }}
</option>
{% endfor %}
</select>
<!--
<select class="form-control" id="ddm" name="ddm" onclick="return onddm();">
<option value="{{ dev[3]['model'] }}" default> {{ models[dev[3]['model']] }} </option>
{% for k,v in models.items() %}
{% if k != dev[3]['model'] %}
<option value="{{ k }}"> {{ v }} </option>
{% endif %}
{% endfor %}
</select>
-->
</div>
<div
id=
"ddm_div"
>
<!--
{% if dev[3]['format'] != {} %}
<div id="ddm_ext">
{% if dev[3]['model'] == 'json' or dev[3]['model'] == 'mpack' %}
{% for name, type in dev[3]['format'].items() %}
<div class="row" id="variable_{{ loop.index }}">
<div class="col-lg-6">
<div class="form-group">
<label for="varname_{{ loop.index }}"> Variable name: </label>
<input type="text" maxlength="30" class="form-control" id="varname_{{ loop.index }}" name="varname_{{ loop.index }}" value="{{ name }}">
</div>
</div>
<div class="col-lg-5">
<div class="form-group">
<label for="vartype_{{ loop.index }}"> Type: </label>
<select id="vartype_{{ loop.index }}" name="vartype_{{ loop.index }}" class="form-control" onchange="onvartype('{{ loop.index }}')">
<option value="{{ type }}"> {{ type }} </option>
</select>
</div>
</div>
</div>
{% endfor %}
{% endif %}
</div>
{% endif %}
-->
</div>
</form>
<br>
...
...
app/app/views.py
View file @
45a15aab
...
...
@@ -191,8 +191,6 @@ def application_device(appkey, devid):
if
session
[
'name'
]
==
ap
[
1
][
2
]:
dev
=
dd
.
get
(
appkey
,
devid
)
print
(
dev
);
ld
=
data
.
get_last_range
(
appkey
,
devid
,
[
MAX_PG_ENTRIES_DATA
,
0
])
cnt
=
data
.
get_count
(
appkey
,
devid
)
...
...
@@ -521,7 +519,6 @@ def application_new_alert(appkey):
if
res
[
0
]:
# create new function and trigger
t
=
tr
.
create_function_rt
(
appkey
,
request
.
form
[
'devid'
],
nid
,
[
request
.
form
[
'varname'
],
request
.
form
[
'operation'
],
request
.
form
[
'avalue'
]],
'alert'
,
request
.
form
[
'alertemail'
])
print
(
t
)
tr
.
create
(
appkey
,
request
.
form
[
'devid'
],
nid
)
flash
(
'Alert created'
,
'success'
)
return
redirect
(
url_for
(
'application_alerts'
,
appkey
=
appkey
))
...
...
@@ -633,7 +630,6 @@ def application_device_settings(appkey, devid):
return
render_template
(
'new/public/device-settings.html'
,
app
=
ap
[
1
],
dev
=
dev
[
1
],
models
=
ddm
.
MODELS
)
elif
request
.
method
==
'POST'
:
ddmin
=
misc
.
extract_ddm
(
request
)
print
(
ddmin
)
#res = dd.update(appkey, devid, request.form['devname'], request.form['devdesc'])
res
=
dd
.
update_ddm
(
appkey
,
devid
,
request
.
form
[
'devname'
],
request
.
form
[
'devdesc'
],
ddmin
)
...
...
app/app/views_admin.py
View file @
45a15aab
...
...
@@ -14,6 +14,7 @@ import app.dao.misc.misc as md
#import app.helpers.misc as misc
from
app.helpers.misc
import
restricted
import
app.helpers.device_data_model
as
ddm
import
app.helpers.misc
as
misc
import
binascii
...
...
@@ -126,20 +127,21 @@ def administration_users_user_application_add_device(name, appkey):
if
request
.
method
==
'GET'
:
ap
=
ad
.
get
(
appkey
)
dev_list
=
dd
.
get_list
(
appkey
)
return
render_template
(
'new/admin/user-add-device.html'
,
app
=
ap
[
1
],
free_ids
=
misc
.
prep_id_range
(
dev_list
[
1
]),
user
=
name
)
return
render_template
(
'new/admin/user-add-device.html'
,
app
=
ap
[
1
],
free_ids
=
misc
.
prep_id_range
(
dev_list
[
1
]),
models
=
ddm
.
MODELS
,
user
=
name
)
elif
request
.
method
==
'POST'
:
res
=
dd
.
create
(
request
.
form
[
'devname'
],
request
.
form
[
'devid'
],
appkey
,
request
.
form
[
'devdesc'
])
ddmin
=
misc
.
extract_ddm
(
request
)
res
=
dd
.
create_ddm
(
request
.
form
[
'devname'
],
request
.
form
[
'devid'
],
appkey
,
request
.
form
[
'devdesc'
],
ddmin
)
if
not
res
[
0
]:
flash
(
'Error: {}'
.
format
(
res
[
1
]),
'danger'
)
return
re
nder_template
(
request
.
url
)
return
re
direct
(
request
.
url
)
else
:
res
=
data
.
create_table
(
appkey
,
request
.
form
[
'devid'
])
if
not
res
[
0
]:
dd
.
delete
(
appkey
,
request
.
form
[
'devid'
])
flash
(
'Error: {}'
.
format
(
res
[
1
]),
'danger'
)
return
rend
er_template
(
request
.
url
)
return
rend
irect
(
request
.
url
)
else
:
return
redirect
(
url_for
(
'administration_users_user_application'
,
name
=
name
,
appkey
=
appkey
))
...
...
@@ -170,15 +172,15 @@ def administration_users_user_application_device_settings(name, appkey, devid):
if
request
.
method
==
'GET'
:
ap
=
ad
.
get
(
appkey
)
dev
=
dd
.
get
(
appkey
,
devid
)
dev_list
=
dd
.
get_list
(
appkey
)
return
render_template
(
'new/admin/user-application-device-settings.html'
,
app
=
ap
[
1
],
dev
=
dev
[
1
],
free_ids
=
misc
.
prep_id_range
(
dev_list
[
1
])
,
user
=
name
)
return
render_template
(
'new/admin/user-application-device-settings.html'
,
app
=
ap
[
1
],
dev
=
dev
[
1
],
models
=
ddm
.
MODELS
,
user
=
name
)
elif
request
.
method
==
'POST'
:
res
=
dd
.
update
(
appkey
,
devid
,
request
.
form
[
'devname'
],
request
.
form
[
'devdesc'
])
ddmin
=
misc
.
extract_ddm
(
request
)
res
=
dd
.
update_ddm
(
appkey
,
devid
,
request
.
form
[
'devname'
],
request
.
form
[
'devdesc'
],
ddmin
)
if
not
res
[
0
]:
flash
(
'Error: {}'
.
format
(
res
[
1
]),
'danger'
)
return
re
nder_template
(
request
.
url
)
return
re
direct
(
request
.
url
)
return
redirect
(
request
.
url
)
...
...
Write
Preview
Supports
Markdown
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