Thursday 11 July 2013

Work with different address in OpenERP 7.



Work with different address in OpenERP 7.

OpenERP 7 gives you facility so you can set different addresses.
There are mainly three types of addresses used in any company there are as follow :

- Main company address
- Invioce Address
- Shiping Address


Steps :

 - Create one customer set it as company .
 - add address as company address
 - Create new conact (under customer form contact Tab)
 - Choose address Type and define different addresses .

Here i created video that will showing same.



..Enjoy..

Wednesday 10 July 2013

Install web-cam on your ubuntu machine




Do you wanna install web-cam on your ubuntu machine ?

Just run one command and you can enjoy ...



Go to Application > Accessories  > Terminal
Type command :

 sudo apt-get install cheese

After installation :

Go to Application > Sound & video > Cheese Webcam Booth

.. Enjoy ...

Tuesday 9 July 2013

How to increase your PC speed through swap memory ??



How to increase your PC speed through swap memory ??

Specially in UBUNTU :

Here i described some of step that all are helpful to you to create swap memory and of course speed up your PC.

Check for Swap Space



swapon -s

An empty list (for first time if there is no any already created swap):
Filename    Type  Size Used Priority

Create and Enable the Swap File


Now it’s time to create the swap file itself using the dd command :
sudo dd if=/dev/zero of=/swapfile bs=1024 count=512k

“of=/swapfile” designates the file’s name. In this case the name is swapfile. 

Subsequently we are going to prepare the swap file by creating a linux swap area:
sudo mkswap /swapfile

The results display something like:
Setting up swapspace version 1, size = 262140 KiB
no label, UUID=103c4545-5fc5-47f3-a8b3-dfbdb64fd7eb

Finish up by activating the swap file:
sudo swapon /swapfile

You will then be able to see the new swap file when you view the swap summary.
swapon -s
Filename    Type  Size Used Priority
/swapfile                               file  262140 0 -1

This file will last on the virtual private server until the machine reboots. 
You can ensure that the swap is permanent by adding it to the fstab file.

Open up the file:
sudo nano /etc/fstab

Paste in the following line:
 /swapfile       none    swap    sw      0       0 

..Enjoy..

Wednesday 3 July 2013

Mail Alias with OpenERP 7

Mail alias in OpenERP 7

I think lots of people have confusion over mail alias including me.

So, here i try to describe mail alias in OpenERP.
For mail configure in OpenERP

Steps :

- First of all configure mail servers both incoming and outgoing.
- now from the Setting > General Setting configure "Alias Domain"(catch-all email domain redirected to this openerp server domain)

Now very important thing how openerp mail alias work

so in this case you have to configure catch all on your mail server.

What id catchall ?

Mail server provide facility like catchall which will handle all mail with domain means here i try to explain with example that may
be useful to you :

Ex. Company domain name :

     @domain.com
now someone send a mail to xxx@domain.com now there is no any xxx mail address defined in the @domain.com so these kind of mails are
handled under catchall.

Now, in openerp server you have to define both address one is original and second one catchall which will fetch-out all mail.

Why its needed ?

Because whenever we create any project or etc than there is automatically created alias.

Suppose we created new project user alias set as user@domain.com
user add followers and send a notification so there is set sender name user@domain.com, receiver a valid mail id, and in reply to there is project alias set.

So, if a customer reply to that mail than he face the problem as undelivered mail if there is no any catchall defined.

Now, if we defined catchall than the message will automatically fetched and appended to particular object.

We hope this information will helpful to you.


..Enjoy..

OpenERP Error

OpenERP error like : when we use new 'addons / web / server'

Solution :
Manual migration script to run on DB :

ALTER TABLE ir_model_fields ADD column serialization_field_id int references ir_model_fields on delete cascade;


Server Traceback (most recent call last):
  File "/home/pna/workspace/6.1/web/addons/web/common/http.py", line 593, in send
    return openerp.netsvc.dispatch_rpc(service_name, method, args)
  File "/home/pna/workspace/6.1/server/openerp/netsvc.py", line 360, in dispatch_rpc
    result = ExportService.getService(service_name).dispatch(method, params)
  File "/home/pna/workspace/6.1/server/openerp/service/web_services.py", line 397, in dispatch
    return fn(*params)
  File "/home/pna/workspace/6.1/server/openerp/service/web_services.py", line 408, in exp_authenticate
    res_users = pooler.get_pool(db).get('res.users')
  File "/home/pna/workspace/6.1/server/openerp/pooler.py", line 50, in get_pool
    return get_db_and_pool(db_name, force_demo, status, update_module)[1]
  File "/home/pna/workspace/6.1/server/openerp/pooler.py", line 33, in get_db_and_pool
    registry = RegistryManager.get(db_name, force_demo, status, update_module, pooljobs)
  File "/home/pna/workspace/6.1/server/openerp/modules/registry.py", line 180, in get
    update_module, pooljobs)
  File "/home/pna/workspace/6.1/server/openerp/modules/registry.py", line 202, in new
    openerp.modules.load_modules(registry.db, force_demo, status, update_module)
  File "/home/pna/workspace/6.1/server/openerp/modules/loading.py", line 298, in load_modules
    loaded_modules, processed_modules = load_module_graph(cr, graph, status, perform_checks=(not update_module), report=report)
  File "/home/pna/workspace/6.1/server/openerp/modules/loading.py", line 167, in load_module_graph
    models = pool.load(cr, package)
  File "/home/pna/workspace/6.1/server/openerp/modules/registry.py", line 109, in load
    res.append(cls.create_instance(self, cr))
  File "/home/pna/workspace/6.1/server/openerp/osv/orm.py", line 919, in create_instance
    obj.__init__(pool, cr)
  File "/home/pna/workspace/6.1/server/openerp/osv/orm.py", line 1027, in __init__
    if field['serialization_field_id']:
KeyError: 'serialization_field_id'

Thursday 6 June 2013

Field level Security in OpenERP


Field level Security in OpenERP


In openerp erp its some times its needed to secure system.

So, there are lots of way to secure System. You can create access rights, Groups or etc.

But i think some times needed to field level security also. So, we can simply groups= "xyz group" so it will simply manage and that particular user can access. You can also restrict from xml also.

But if you try same thing in 7 also than you find if in fields you put "group1" and now, if you login with other group user which have all access rights of current object and you have put another group on fields than it will give you access rights warning and not able to access whole object.

So, in that case you can achieve from following code.

'standard_price': fields.float('Cost', write=['base.group_sale_manager'], read=['base.group_user']),

Suppose, here i give you example of standard price in this i give read right to 'base.group_user' and for write rights give to sales manager so, now you can restrict it by only sales manager can update cost price and the rest of user can only see but not rights to update.

And for invisible particular field you can use groups in xml file also.
So, you can achieve field level security as well as xml security to hide.

<field name="standard_price" groups="base.group_sale_manager"/>


We hope it will useful to you.

..Enjoy..