Odoo Help

0

Capitalize the first letter of the words

By
philip
on 8/11/14, 11:45 AM 2,526 views

Hi expert,

I am newbie on openerp/odoo, I would like to  capitalize the first letter of every word entered into a employee name, how to do that?

I am using openerp/odoo version 7

let say if I entered: john doe it would be John Doe

Thanks 

1

Vasiliy Birukov

--Vasiliy Birukov--
3491
| 7 6 8
Russian Federation
--Vasiliy Birukov--

Help develop and implement any project on base Odoo.

Vasiliy Birukov
On 8/12/14, 7:10 AM

Define onchange method for this field. Inside method convert value of field as you like.

0
Giezel Esteves
On 4/27/17, 9:55 PM

 

first_name = fields.Char(string='First Name')

middle_name = fields.Char(string='MiddleName')

last_name = fields.Char(string='LastName')


@api.model

def create(self, vals):

     vals['first_name'] = vals['first_name'].title()

     vals['middle_name'] = vals['middle_name'].title()

    vals['last_name'] = vals['last_name'].title()

     return super(Employee, self).create(vals)


 

     

0
Agile
On 4/27/17, 10:40 PM

You can title() function for this purpose field_name.title().

0
Narendran
On 6/13/16, 6:58 AM

May be useful for v9 and v8 users,

name = fields.Char()

@api.onchange('name')

def caps_name(self):

    if self.name :

        self.name = str(self.name).title()

0
Krupesh Laiya
On 3/3/16, 7:45 AM

Pls refer following links:

http://stackoverflow.com/questions/1549641/how-to-capitalize-the-first-letter-of-each-word-in-a-string-python


http://stackoverflow.com/questions/12410242/python-capitalize-first-letter-only

0
badr elmar
On 3/3/16, 5:38 AM

the answer for odoo v8 

prenom = fields.Char()

@api.onchange('prenom')

def _compute_upper(self):

for rec in self:

self.prenom = self.prenom.title() if self.prenom else False

0
philip
On 8/17/14, 12:01 PM

Thanks for the response, and here's I have done already.

hr_view.xml

        <!--Employee form view -->

                       <div class="oe_title">
                            <label for="name" class="oe_edit_only"/>
                            <h1>
                            <field name="name"  on_change="onchange_name(name)"/>
                            </h1>

On hr.py I have added the below code

def onchange_name(self, cr, uid, ids, name, context=None):
    return {
        'value': {
            'name': name.title()
            }
    }

 

Got the following errors:

OpenERP Server Error

Client Traceback (most recent call last): File "/home/philip/ws/openerp/web/addons/web/http.py", line 204, in dispatch response["result"] = method(self, **self.params) File "/home/philip/ws/openerp/web/addons/web/controllers/main.py", line 1125, in call_kw return self._call_kw(req, model, method, args, kwargs) File "/home/philip/ws/openerp/web/addons/web/controllers/main.py", line 1117, in _call_kw return getattr(req.session.model(model), method)(*args, **kwargs) File "/home/philip/ws/openerp/web/addons/web/session.py", line 42, in proxy result = self.proxy.execute_kw(self.session._db, self.session._uid, self.session._password, self.model, method, args, kw) File "/home/philip/ws/openerp/web/addons/web/session.py", line 30, in proxy_method result = self.session.send(self.service_name, method, *args) File "/home/philip/ws/openerp/web/addons/web/session.py", line 103, in send raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info) Server Traceback (most recent call last): File "/home/philip/ws/openerp/web/addons/web/session.py", line 89, in send return openerp.netsvc.dispatch_rpc(service_name, method, args) File "/home/philip/ws/openerp/server/openerp/netsvc.py", line 296, in dispatch_rpc result = ExportService.getService(service_name).dispatch(method, params) File "/home/philip/ws/openerp/server/openerp/service/web_services.py", line 626, in dispatch res = fn(db, uid, *params) File "/home/philip/ws/openerp/server/openerp/osv/osv.py", line 190, in execute_kw return self.execute(db, uid, obj, method, *args, **kw or {}) File "/home/philip/philip/openerp/server/openerp/osv/osv.py", line 132, in wrapper return f(self, dbname, *args, **kwargs) File "/home/philip/ws/openerp/server/openerp/osv/osv.py", line 199, in execute res = self.execute_cr(cr, uid, obj, method, *args, **kw) File "/home/test/philip/openerp/server/openerp/osv/osv.py", line 187, in execute_cr return getattr(object, method)(cr, uid, *args, **kw) AttributeError: 'hr.employee' object has no attribute 'onchange_name'

 I would greatly appreciate any help you can give me in working this problem

Hi philip, I updated my code please check it.

Prakash
on 8/18/14, 3:31 AM
Thank you so much, very appreciated here, will update later


On Mon, Aug 18, 2014 at 3:31 PM, prakash <prakash-jain-sunarctechnologies-com@mail.odoo.com> wrote:

Hi philip, I updated my code please check it.

--
prakash Sent by OpenERP S.A. using Odoo. Access your messages and documents in Odoo

philip
on 8/18/14, 6:03 AM

Thank you so much prakash, really appreciated your help, is working now

philip
on 8/18/14, 8:21 AM
0

Med Said BARA

--Med Said BARA--
2714
| 5 5 7
Algeria
--Med Said BARA--
Med Said BARA
On 8/28/14, 7:08 AM

Capitalize Firstname and set Name to Uppercase: Just use the tg_partner_firstname from http://thierry-godin.developpez.com/openerp/openerp-module-pos-enhanced-fr/fichiers/openerp_tg_pos_enhanced_package_1.0.1.zip

-1

Prakash

--Prakash--
3218
| 5 4 7
Bikaner, India
--Prakash--

OpenERP Devloper at SunARC Technology

Prakash
On 8/12/14, 8:17 AM

In python use the code name.title() to Capitalize the first letter in Create method or onchange Method.

EDIT

I tested your code its working without any issue.

Try the below code:-

   <div class="oe_title">
      <label for="name" class="oe_edit_only"/>
        <h1>
           <field name="name"  on_change="onchange_name(name)"/>
        </h1>

def onchange_name(self, cr, uid, ids, name, context=None):
    if name:
        return {'value': {'name': name.title()}}
    return {'value':{}}
    
After making these changes, restart the server update your module and test it. It should work.
    

 

 

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

Question tools

2 follower(s)

Stats

Asked: 8/11/14, 11:45 AM
Seen: 2526 times
Last updated: 4/27/17, 10:40 PM