Odoo Help

4

1
2 Answers
6
Avatar

Gopakumar N G India

--Gopakumar N G--
1253
| 5 4 10
Cochin, India
--Gopakumar N G--

Project Lead at Bizweaver Technologies Pvt. Ltd.

Gopakumar N G India
12/18/13, 2:45 AM

Hi, you can edit this in the base.xml of your web module (path: addons/web/static/src/xml/base.xml). The DB list is defined as

<t t-name="Login.dblist">
<select name="db">
    <t t-foreach="db_list" t-as="db">
        <t t-if="selected_db === db">
            <option t-att-value="db" selected="true">
                <t t-esc="db"/></option>
        </t>
        <t t-if="selected_db !== db">
            <option t-att-value="db"><t t-esc="db"/></option>
        </t>
    </t>
</select>
</t>

Now replace that selection "db" with a text box with the same name of the selection field as

 <t t-name="Login.dblist">
<input name="db" type="text" value="" autofocus="autofocus"/>
 </t>

EDIT :

Then in chrome.js (addons/web/static/src/js/chrome.js) comment the on_db_loaded method (line 676-690) , which is

on_db_loaded: function (result) {
    var self = this;
    this.db_list = result;
    if (!this.selected_db) {
        this.selected_db = result[0];
    }
    this.$("[name=db]").replaceWith(QWeb.render('Login.dblist', { db_list: this.db_list, selected_db: this.selected_db}));
    if(this.db_list.length === 0) {
        this.do_action("database_manager");
    } else if(this.db_list.length === 1) {
        this.$('div.oe_login_dbpane').hide();
    } else {
        this.$('div.oe_login_dbpane').show();
    }
},

comment the above full code.

Then save the files and reload your web page, you don't need to restart the server or upgrade the module as you are editing on files in static folder. Now the dropdown will be displayed as a text field as

DB LIST

EDIT 2

@Sureka

After you have changed the database text field to the center of the page comment the code in chrome.js (addons/web/static/src/js/chrome.js) as shown below:

database_selected: function(db) {
//        var params = $.deparam.querystring();
//        params.db = db;
//        this.remember_last_used_database(db);
//        this.$('.oe_login_dbpane').empty().text(_t('Loading...'));
//        this.$('[name=login], [name=password]').prop('readonly', true);
//        instance.web.redirect('/?' + $.param(params));
    },

which is just above the on_db_loaded method. Then refresh the login page and try to login.

13 Comments
Remya India
12/18/13, 5:10 AM

Its not working. I give database name in text field. After that i click on the username text box, the page is refreshing. So i first entered username,password then database, but it also refreshing the page.

Gopakumar N G India
12/18/13, 5:16 AM

Are working in v7? I have tested it in v6.1. Anyway let me check it.

Remya India
12/18/13, 5:31 AM

Working with openerp7.

Gopakumar N G India
12/18/13, 5:36 AM

I have updated the answer. Now check.

Remya India
12/18/13, 5:38 AM

Thanks. Its working.

GG Netherlands
3/5/14, 6:37 AM

@Gopakumar and Remya , I have a question about this. With addition to that I need to move the Database field to the center of the page above the Username field. I could achieve that but after entering the database name the page gets reloading. Even I tried with username and password first and then database , then also the page gets refreshing. I am using OpenERP v7

Gopakumar N G India
3/5/14, 9:15 AM

@Sureka what are the changes you have added ?

GG Netherlands
3/5/14, 9:21 AM

<t t-extend="Login"> <t t-jquery="div.oe_login_dbpane" t-operation="replace"> <form action="" method="post"> <ul> <li>Database</li> <li><input name="db" type="text" value="" autofocus="autofocus"/></li> </ul> </form> </t>

GG Netherlands
3/5/14, 9:30 AM

@Gopakumar, In a separate custom module in static/src/xml/base.xml , I have included the above code mentioned in previous comment of mine to get the Database name as an text field and also the code to remove ''Manage Database' link. I also commented the lines 676-690 in chrome.js. Sorry I couldn't present my code clearly in above comment.

Gopakumar N G India
3/6/14, 3:39 AM

@Sureka: I have updated the answer. Please check.

GG Netherlands
3/10/14, 5:35 AM

@Gopakumar, Now after editing in chrome.js , I can't even log in. If I click login button nothing happens after that.

Gopakumar N G India
3/11/14, 6:58 AM

@Sureka, But its working in my system. Did you just comment the code in the "database_selected: function(db)" or the method itself?

GG Netherlands
3/11/14, 10:10 AM

@Gopakumar, Now its working.Sorry there was a mistake in my base xml. I should extend the class oe_login_pane.But initially i extended the oe_login_dbpane, so I can't login. Sorry once again. and thanks for your answer and reviews.

3
Jasad India
12/18/13, 2:45 AM

Hi Remya,

When you run the openerp server as service, you can make use of the --db-filter=db_name option.

ie, ./openerp-server --db-filter=test_7_db

Ask a Question
Writer
5672
Remya
Keep Informed
0 follower(s)
About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

Register
Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now