This question has been flagged

Hi guys, i want create field with option "add" so if something will be added and saved next time it will be there and user can use it.

I would like to built it in product by the way :).

For example list of brands or .... else.



Avatar
Discard

I upvote for all your questions and answer, you have now enough Karma to comment normally, please do not use link you receive by mail, it display part of my email address, thank you, for your question, did you try to create a new attribute instead to change the type ? I believe that the fact to change type works not very well ...

Author

Thank you thank you thank you i'm so appreciated you just save a lot of my time sharing your knowledge with me. Thank You Cyril. By the way, based on example yu sent me yesterday i've built what i wanted ;) and now i have a field having create & edit option ;) which is great but if would you tell me how/what should i do i don't fully understand how can i do it. Like I said now if a'm using many2one field it gives me not Value/Name but (product.template(position,)) which is really ... bad :)

Hi, what is your odoo version ? Have you a test server ? Try to delete all record attributes you set in product and delete all records in 3 menu attibutes group options, and created a new one with field many2one ?

Author

My odoo 8.0, got my own server so i can do whatever I want no probs at all. Would you explain it to me a little bit ? like I said I'm a newbie so many things are completely magical to me ;) I just started learning how it works ;)

Author

I've tried these modules but none of them work - can't install it :( all the time something is missing so I gave up.

I believe I didn't all understood, since you intall modules, now for all fields many2one you have not Value/Name but (product.template(position,)) . You shoiud uninstall modules or cancel installation, and let me know the result (refresh your browser too)

Author

Link below, I tried it but it doesn't work i mean base_custom_attributes and product_custom_attributes. I though that you talking about these modules ? Let me explain, I've built another module, it adds a lot of fields into the product. Some of these fields are many2one for example: 'istock_com0a':fields.many2one('product.template', 'Processor type', required=False), It works fine until i want one of these fields to be used by 'Merge" function. I'm pretty sure it have to be done other way. But how is still a mystery for me :) So if I already have some fields and i would like to built name based on these fields (all many2one) how should i do it ? If it is selection there is no problem it works excellent ;) Sorry to bother you that much you're my only hope/help ;)

Author

To be perfectly clear, i don't fully understand how it work to build correctly but i'm analising what you gave me and now i know a little bit more ;)

Author

Meantime I've built a list of brands which is working fine ;) I can add name to the list and use it whenever i want :)

Then it's ok now ?

Let me explain one more time. Everything work as I expected but ...
If I'm trying to use a many2one field it shows me (product.template(number,))
If I'm using fields declared in module it makes name of them correctly.
So how can i combine it together and get product name using other many2one fields ?
I did a lot of combinations but none of them work ;(
Look, if I'm using this field 'istock_com0a':fields.many2one('product.template', 'Processor type', required=False),
(this is my product.template - whole list filtered depending on what i need ex.; processors - supplied by other module)

How can I connect it to this code:
...

class Product_Template(models.Model):

    _inherit = "product.template"

    istock_com0 = fields.Char('brand')

    istock_com1 = fields.Char('type')

    istock_com2 = fields.Char('size')

    prod_name = fields.Char(compute="_get_prod_name", string="Product Name")

    @api.one

    @api.depends("istock_com0", "istock_com1", "istock_com2")

    def _get_prod_name(self):

        istock_com0 = self.istock_com0 or ' '

        istock_com1 = self.istock_com1 or ' '

        istock_com2 = self.istock_com2 or ' '

        name = ustr(istock_com0) + ' ' + ustr(istock_com1) + ' ' + ustr(istock_com2)

...

Hey Cyril, is there any chance to add conditions and decide which configuration
will be used for example:

if itype ="type1":
    prod_name = field2 + field4 + field12

if itype = "type2":
    prod_name = field1 + field3 + field6

and so forth

Best Answer

easy, not,

but there is a module for that for openerp 6.1 an 7, but not ported in v8, could not correspond to your need,

module base_custom_attributes and product_custom_attributes (which add button to add attibute and set value in product form):


https://github.com/OCA/product-attribute/tree/7.0

old video :


https://www.youtube.com/watch?v=ufV64hiwMUg

bye

Avatar
Discard
Author

I will test this package but so far ... none of these modules work for me ;( However I can use it for learning :)