[ADD] Database selector to login screen

bzr revid: fme@openerp.com-20140124151656-swy3jknclfnxkwzx
This commit is contained in:
Fabien Meghazi 2014-01-24 16:16:56 +01:00
parent 9af3bf56c0
commit f4e33da924
3 changed files with 34 additions and 2 deletions

View File

@ -552,6 +552,11 @@ def render_bootstrap_template(db, template, values=None, debug=False, lazy=False
values = {}
values.update(kw)
values['debug'] = debug
values['current_db'] = db
try:
values['databases'] = http.db_list()
except openerp.exceptions.AccessDenied:
values['databases'] = None
for res in ['js', 'css']:
if res not in values:

View File

@ -8,11 +8,16 @@
<link rel="stylesheet" href="/web/static/lib/fontawesome/css/font-awesome.css">
<link rel="stylesheet" href="/web/static/lib/bootstrap/css/bootstrap.css">
<link rel="stylesheet" href="/web/static/src/css/base.css">
<script type="text/javascript">
function dbchanged() {
document.getElementById('dbselector').submit();
}
</script>
<body class="oe_single_form">
<div class="oe_single_form_container modal-content">
<form class="oe_dbselector_form" role="form" action="/web" method="get">
<form class="oe_dbselector_form" id="dbselector" role="form" action="/web" method="get">
<div class="oe_single_form_logo">
<img src="/web/static/src/img/logo2.png"/>
</div>
@ -22,7 +27,7 @@
<div class="form-group field-db">
<label for="db" class="control-label">Select database</label>
{% if databases %}
<select name="db" id="db" class="form-control" required="required" autofocus="autofocus">
<select name="db" id="db" class="form-control" required="required" autofocus="autofocus" onchange="dbchanged()">
<option></option>
{% for db in databases %}
<option value="{{ db }}">{{ db }}</option>

View File

@ -58,6 +58,25 @@
</t>
</template>
<template id="web.database_select" name="Database select widget">
<script type="text/javascript">
function dbchanged(db) {
document.location = "/web/login?<t t-if="debug">debug&amp;</t>db=" + db;
}
</script>
<div class="form-group field-db" t-if="databases and len(databases) &gt; 1">
<label for="db" class="control-label">Database</label>
<select name="db" id="db" class="form-control" required="required" autofocus="autofocus" onchange="dbchanged(this.value)">
<option></option>
<t t-foreach="databases" t-as="db">
<option t-att-selected="'selected' if db == current_db else None">
<t t-esc="db"/>
</option>
</t>
</select>
</div>
</template>
<template id="web.login" name="Login">
<t t-call="web.login_layout">
<t t-set="head">
@ -76,6 +95,9 @@
</t>
<form class="oe_login_form" role="form" t-attf-action="/web/login{{ '?debug' if debug else '' }}" method="post">
<t t-call="web.database_select"/>
<div class="form-group field-login">
<label for="login" class="control-label">Email</label>
<input type="text" name="login" t-att-value="login" id="login" class="form-control" required="required" autofocus="autofocus"/>