Uploaded image for project: 'Blesta Core'
  1. Blesta Core
  2. CORE-2735

Config options passed to a module's validateService method may be inconsistent

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.3.0
    • Component/s: None
    • Labels:
      None

      Description

      See https://www.blesta.com/forums/index.php?/topic/11154-validateservice-vars-configoptions-keys-inconsistent/

      Someone mentioned that a module's ::validateService method is passed a set of $vars, including $vars['configoptions'], but the configoptions may be a key/value array of option_id => value sometimes, or option_name => value other times. We should investigate to see where this occurs and what the expectation should be, and whether any core plugins are affected.

        Activity

        tyson Tyson Phillips (Inactive) created issue -
        tyson Tyson Phillips (Inactive) made changes -
        Field Original Value New Value
        Rank Ranked higher
        tyson Tyson Phillips (Inactive) made changes -
        Sprint 4.3.0 Sprint 12 [ 63 ]
        tyson Tyson Phillips (Inactive) made changes -
        Rank Ranked higher
        jonathan Jonathan Reissmueller made changes -
        Assignee Jonathan Reissmueller [ jonathan ]
        tyson Tyson Phillips (Inactive) made changes -
        Fix Version/s 4.3.0 [ 11022 ]
        jonathan Jonathan Reissmueller made changes -
        Remaining Estimate 0 minutes [ 0 ]
        Time Spent 58 minutes [ 3480 ]
        Worklog Id 11298 [ 11298 ]
        jonathan Jonathan Reissmueller made changes -
        Status Open [ 1 ] In Review [ 5 ]
        Resolution Won't Fix [ 2 ]
        jonathan Jonathan Reissmueller made changes -
        Resolution Won't Fix [ 2 ]
        Status In Review [ 5 ] Reopened [ 4 ]
        jonathan Jonathan Reissmueller made changes -
        Comment [ This is intentional behavior seen in the Services::add() method where it calls PackageOptions::formatOptions(). This was prescribed by CORE-721 where it says "The label and the value of the field will be sent to the module when the service is provisioned, and the module may utilize the variable to alter the way it provisions the service remotely." ]
        Automated transition triggered when Jonathan Reissmueller created a branch in Stash -
        Status Reopened [ 4 ] In Progress [ 3 ]
        jonathan Jonathan Reissmueller made changes -
        Time Spent 58 minutes [ 3480 ] 2 hours, 28 minutes [ 8880 ]
        Worklog Id 11299 [ 11299 ]
        Automated transition triggered when Jonathan Reissmueller created pull request #475 in Stash -
        Status In Progress [ 3 ] In Review [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        jonathan Jonathan Reissmueller added a comment -

        The discrepancy occurs any time Services::validate() or Services::validateService() methods are called. The expected input is array('label' => value) as defined in CORE-721 "The label and the value of the field will be sent to the module when the service is provisioned..." Presumably the solution is to make all locations conform to this. As for plugins, do you mean modules? If so I imagine it would depend on how the module uses the config options (which only a couple do).

        Show
        jonathan Jonathan Reissmueller added a comment - The discrepancy occurs any time Services::validate() or Services::validateService() methods are called. The expected input is array('label' => value) as defined in CORE-721 "The label and the value of the field will be sent to the module when the service is provisioned..." Presumably the solution is to make all locations conform to this. As for plugins, do you mean modules? If so I imagine it would depend on how the module uses the config options (which only a couple do).
        tyson Tyson Phillips (Inactive) made changes -
        Rank Ranked lower
        tyson Tyson Phillips (Inactive) made changes -
        Fix Version/s 4.3.0 [ 11101 ]
        Fix Version/s 4.3.0-b3 [ 11022 ]
        Hide
        jonathan Jonathan Reissmueller added a comment -

        We will update the core to always submit config options to modules in the [name => value]. We will also update documentation to specify the expected format of config options submitted to it.

        Show
        jonathan Jonathan Reissmueller added a comment - We will update the core to always submit config options to modules in the [name => value] . We will also update documentation to specify the expected format of config options submitted to it.
        jonathan Jonathan Reissmueller made changes -
        Time Spent 2 hours, 28 minutes [ 8880 ] 2 hours, 48 minutes [ 10080 ]
        Worklog Id 11330 [ 11330 ]
        Automated transition triggered when Tyson Phillips (Inactive) merged pull request #475 in Stash -
        Status In Review [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            jonathan Jonathan Reissmueller
            Reporter:
            tyson Tyson Phillips (Inactive)
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:
              Fix Release Date:
              18/Jul/18

              Time Tracking

              Estimated:
              Original Estimate - Not Specified
              Not Specified
              Remaining:
              Remaining Estimate - 0 minutes
              0m
              Logged:
              Time Spent - 2 hours, 48 minutes
              2h 48m

                Agile