Change opportunity's contacts field (make contactRole multi-enum field)

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • rabii
    Active Community Member
    • Jun 2016
    • 1250

    Change opportunity's contacts field (make contactRole multi-enum field)

    i need to change the contactRole field type from enum to multi-enum so that on an opportunity a contact could be (Influencer - decision maker) at the same time. is there a way to change the field to be multi-enum field? see attached screenshot.

    thanks
    Attached Files
    Rabii
    Web Dev
  • telecastg
    Active Community Member
    • Jun 2018
    • 907

    #2
    Yes it is possible, check this post for instructions. https://forum.espocrm.com/forum/gene...-to-multi-enum

    The most important thing to keep in mind, is that although the actual database field does not change, the contents are handled different, enum stores a string and multi-enum stores a json array which members are the chosen values, thus you will need to manually update the contactRole field in existing records from "role-x" to ["role-x"]

    Comment

    • rabii
      Active Community Member
      • Jun 2016
      • 1250

      #3
      hey telecastg

      Thanks for you reply.

      I have tried changing the field type but it didn't work, i have changed the type of opportunityRole field on contact's clientDefs to multiEnum but the field disappear when i tracked it down it looks like contacts field on opportunity is a custom field which inherits this view (views/fields/link-multiple-with-columns-with-primary) which also inherits (views/fields/link-multiple-with-columns) and on this last view there is only support for 3 columns type (varchar - enum - bool) see attached screenshot. not sure how to this and i would appreciate if you could help in any way.

      thanks
      Attached Files
      Rabii
      Web Dev

      Comment


      • telecastg
        telecastg commented
        Editing a comment
        Unfortunately, the proposed solution only works when you are changing a simple enum to a simple multi-enum field type.

        It looks like the opportunityRole is really not a simple enum field but an additional field in the Many-to-Many table that links the Contact and the Opportunity entities and I don't have any examples or guidance to modify this type of column that I could share.
    • item
      Active Community Member
      • Mar 2017
      • 1476

      #4
      Hello

      telecastg i will give you a sample
      https://github.com/espocrm/espocrm/b...ields/teams.js

      when you create a user, and add teams to user, it's a enum.. so just replicate
      (for information.. i have not skill but it's possible for me)

      Beste Regards

      If you could give the project a star on GitHub. EspoCrm believe our work truly deserves more recognition. Thanks.​

      Comment


      • rabii
        rabii commented
        Editing a comment
        hey @item

        Thanks for sharing this with me, i have looked at it and teams is just a many to many relationship field between users and teams there is no additional fields in the pivot table. what i need is a way to allow each contact on opportunity to have multiple roles rather then just one role e.g a contact could be (decision maker - influencer) at the same time.
    • telecastg
      Active Community Member
      • Jun 2018
      • 907

      #5
      Hello item

      I think that this is a very good example, thanks for the tip!

      rabii maybe you can check it and adapt for the Contact Role field.

      Comment


      • rabii
        rabii commented
        Editing a comment
        it is not what i am looking for this is just a basic many to many relationship field between two entities without any additional columns / fields on the pivot table.
    • Radzik
      Junior Member
      • Jan 2024
      • 1

      #6
      @rabbi Did you manage to solve the issue? I have the same situation, and I can't display a multiEnum select. I changed the Role field to multiEnum, but I can't get it to display. Thank you for any hint.

      Comment

      Working...