mpeshev/wp-crm-system

Allow Users to Create Custom Status Options

Opened this issue · 0 comments

Feature Request

User Story

As a user, I want to create status options that make sense for my business.

Possible Solution

I'm not sure what the best way to do this is since it may not be a commonly needed feature. There are two solutions that might work:

  1. Create filters that lets users change the status options through code.
  2. Create a settings page that lets users edit existing status options or enter new options.

In either case, due to how the plugin is set up there are a few places where these status options are used.

  • There is the display of the options with an array of the value saved to the database [key] and the option that is displayed to the user on the screen [value]
  • There is the sanitization of the previously mentioned keys so that only valid values are saved to the database.
  • When running an import, a separate sanitization check is run to allow for non-hyphenated versions of valid statuses to be saved with the correct key to the database. For example, the database is expecting not-set but an import file may have not set (no hyphen). The sanitization has an array correct and incorrect keys associated with the correct values. Example: $status = array( 'not-set' => 'not-set', 'not set' => 'not-set' [and so on] );
  • In the reports section, each tab has options that can be selected (i.e. show all opportunities that were "won"). These menus should be able to select custom status options.
  • There may be other places where these status options are used. Need to look into this.

Related

https://secure.helpscout.net/conversation/1010719819/6737?folderId=996664

Acceptance Criteria

  • All drop-down menu options in each record should be able to be modified.
  • Those fields should be able to be saved correctly.
  • The fields should be able to be imported with custom status options.