I want to use OpenERP as the main ERP system for my company. The only problem is that our corporation does not use Georgian Calendar because of the geolocation of the company. In contrast, we are using Solar Hijri calendar as the offical calendar for dating our transactions.
I'm looking for direction to start. I know I have to implement it myself and there is no problem about that. But I don't know where to start.
Should keep inserting all the data into database based on Georgian Calendar but when I read them back into Web interface, I translate and convert them to Hijri Calendar ? If so what files or packages I should modify ?
Or it's better to change the server and make sure that the date is being inserted into database IS already converted to Hijri Calendar ? If so, where I'm suppose to start apply my change ?
Here is the way OpenERP handles data that are location specific:
- Data are stored in the database in UTC (not depending on the timezone of your users)
- When the client receives the data, it translates it according to the timezone of the user which is on the global context that comes from the user preferences (so, the date/time you see on the screen is not the same than the one in the database)
- The client sends back the new dates to the server under the UTC format
For information, the fields that are in the global context come from the context_get() method on the res.users object. You may have to overwrite this method if you want to add a new field in the global context which is sent to the client when the user logs in .
So, I think you should develop a module that:
- _inherit the res.users object to add a preference field.selection whith the calendar he uses (gregorian / Solar Hijri)
- overwrite the default calendar widget in the web client to use a .JS widget that support Solar Hijri calendar
- do the translations between Solar Hijri and UTC when reading/writing dates in the widget (the current widget alreaady does this for all UTC timezones.)
Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!
About This Community
|Asked: 2/8/13, 5:22 PM|
|Seen: 4394 times|
|Last updated: 3/16/15, 8:10 AM|