Skip to content
Snippets Groups Projects
Commit 1e780c5e authored by Janis Streib's avatar Janis Streib :owl:
Browse files

ADD: transaction/session api and correct username on frontend

parent 36ee7537
No related branches found
No related tags found
No related merge requests found
......@@ -77,7 +77,9 @@
aria-haspopup="true"
aria-expanded="false">
<font-awesome-icon :icon="['far', 'user']"></font-awesome-icon>
qk4553 <span
<span v-if="session"> {{session.user.login_name}}</span>
<span v-if="!session"> Anmelden</span>
<span
class="caret"></span></a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/logout">Abmelden</a>
......@@ -129,10 +131,13 @@
</style>
<script>
import SessionService from '@/api-services/session.service'
export default {
data() {
return {
breadcrumbs: []
breadcrumbs: [],
session: null,
}
},
watch: {
......@@ -147,7 +152,6 @@
} else {
m = m.parent
}
console.log(m)
res.unshift({text: m.meta.resolveName(this.$route.params), to: m.path})
}
this.breadcrumbs = res
......@@ -160,9 +164,13 @@
for (var i = 0; i < m.length; i++) {
res.push({text: m.name, to: m.path})
}
console.log(m)
this.breadcrumbs = res
}
},
created() {
SessionService.get().then((res) =>{
this.session = res.data
})
}
}
</script>
import Axios from 'axios';
const RESOURCE_NAME = '/api/session';
export default {
get() {
return Axios.get(RESOURCE_NAME)
}
};
......@@ -10,7 +10,7 @@ import sys
import os
import inspect
import subprocess
from .model import DBObject, MetaDBObject
from .model import DBObject, MetaDBObject, Transaction
import importlib
import kitnet.lib.netdd
import kitnet.lib.host_oper_mode_data
......@@ -20,6 +20,7 @@ import datetime
import collections
import ipaddress
DIRTY = True
session_opts = {
......@@ -57,6 +58,8 @@ class CustomJSONEncoder(JSONEncoder):
return str(obj)
elif isinstance(obj, ModMetaData):
return {k: v for (k, v) in obj.__dict__.items() if 'func' not in k}
elif isinstance(obj, Transaction):
return {k:v for (k,v) in obj.__dict__.items() if not callable(v)}
elif isinstance(obj, kitnet.lib.host_oper_mode_data.Loader):
return {'is_devel': obj.OP_ENV_IS_DEVEL, 'is_prod': obj.OP_ENV_IS_PROD, 'is_test': obj.OP_ENV_IS_TEST,
'mode': obj.OP_ENV_MODE}
......
......@@ -178,7 +178,7 @@ def inject_transaction_action_del_form():
@app.route('/transaction/<int:pos>', methods=['POST', 'GET'])
@register_breadcrumb(app, '.transaction.element', 'element',
dynamic_list_constructor=(
lambda: [{'text': 'Fehler in Transaktionselement {}'.format(request.view_args['pos'])}]))
lambda: [{'text': 'Fehler in Transaktionselement {}'.format(request.view_args['pos'])}]))
@login_required
def _transaction_error(pos):
plen = len(request.environ['beaker.session']['plan'].plan)
......@@ -194,6 +194,14 @@ def api_sysinfo():
return jsonify({'version': VERSION, 'mods': MODS, 'host_oper_mode': db.host_omdl})
@app.route('/api/session')
def api_session():
s = request.environ['beaker.session']
if 'login' in s:
return jsonify({'user': s['login'], 'transaction': s['plan']})
return jsonify({'error':'No session'}), 403
@app.route('/transaction', methods=['POST', 'GET'])
@register_breadcrumb(app, '.transaction', 'Aktuelle Transaktion')
@login_required
......
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