Details
- 
        Type: Story Story
- 
        Status: Closed
- 
            Priority: Major Major
- 
            Resolution: Fixed
- 
            Affects Version/s: None
- 
            Fix Version/s: 5.0.0-b1
- 
            Component/s: None
- 
            Labels:None
Description
We need to have a way of customizing the navigation for both the client nav and the admin nav. We need to do this in a way that automatically replicates the current navigation.
Database
Create new tables:
- actions
	- id INT(10) UNSIGNED NOT NULL AUTOINCREMENT
- location ENUM('nav_client', 'nav_staff','nav_public', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff',
- url VARCHAR(255) NOT NULL
- name VARCHAR(128) NOT NULL
- options TEXT DEFAULT NULL
- company_id INT(10) UNSIGNED NOT NULL
- plugin_id INT(10) UNSIGNED NULL DEFAULT NULL
- enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1
- editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1
- primary(id)
- unique(url, location, company_id)
- index(company_id)
- index(location)
- index(plugin_id)
- index(enabled)
- index(editable)
 
- navigation_items
	- id INT(10) UNSIGNED NOT NULL AUTOINCREMENT
- action_id INT(10) UNSIGNED NOT NULL
- order SMALLINT(5) UNSIGNED NOT NULL
- parent_id INT(10) UNSIGNED NULL DEFAULT NULL
- primary(id)
- index(action_id)
- index(parent_id)
 
Remove the `plugin_actions` table
Migrations
Create migrations to:
- Add new tables
- Move plugin actions to the new tables
	- Actions should be created for each plugin action AND their sub items
- Navigation items should be created should be created for each plugin nav_primary_staff and nav_primary_client action that is enabled and their subitems
- Navigation items should be created for each nav_secondary_staff and nav_secondary_client plugin action
 
- Move core nav items fetched from the navigation model to the new tables
	- Actions should be created for each primary nav item AND their sub items (public/client/staff)
- Navigation items should be created should be created for each primary nav item and their subitems (public/client/staff)
 
- Remove the `plugin_actions` table
Models
- Add Actions model
- Update Navigation model to pull in navigation items from the database
- Update the plugin manager to add/remove/update actions and nav items
- Make sure all action display locations now pull from the action or navigation models
Action Creation Interface
- Add an "Actions" settings nav item under Look and Feel
- Add action list page
	- List only editable core (nav) actions here
- Show name and url
 
- Add an Add Action page
	- Fields include a name text field, uri text field, and location select
- Limit location to the nav types
 
- Add an identical Edit Action page
	- Make sure this page will redirect for uneditable actions
 
"Navigation" Nav Buliding Interface
- Tabs for client nav and admin nav
- Available actions list that shows all actions available to be added to the navigation
	- There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation
 
- Drag and drop interface for building and organizing navigation with indentation for subitems
	- There should be a "Remove" button on each row to remove the nav item from the navigation
- We should have some way of marking a nav item as a subitem which would make it appear indented
		- A checkbox? A clickable icon?
- In the back end we can auto assign these sub items to the most recently seen primary nav item
 
 
- It would be nice to have some kind of preview of the navigation, but it is not essential
Other
Issue Links
- duplicates
- 
             CORE-3823
        Portal: Allow admin and client nav links to be created CORE-3823
        Portal: Allow admin and client nav links to be created-           
- Closed
 
-         
| 1. | Navigation Customization Tables |  | Closed | Jonathan Reissmueller | |||||||||
| 2. | Navigation Customization Migrations |  | Closed | Unassigned | |||||||||
| 3. | Navigation Customization Model Changes |  | Closed | Jonathan Reissmueller | 
 | ||||||||
| 4. | Action Creation Interface |  | Closed | Jonathan Reissmueller | |||||||||
| 5. | Nav Buliding Interface |  | Closed | Jonathan Reissmueller | 
 | 
Activity
| Field | Original Value | New Value | 
|---|---|---|
| Rank | Ranked higher | 
| Rank | Ranked higher | 
| Story Points | 13 | 
| Sprint | 5.0.0 Sprint 4 [ 121 ] | 
| Rank | Ranked lower | 
| Description | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create three new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(reserved) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** level ENUM('public', 'client', 'staff') ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) * Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff action that is enabled ** Navigation subitems should be created for each nav_secondary_staff and nav_secondary_client plugin action and each subitem of the nav_primary_staff actions * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item (public/client/staff) ** Navigation subitems should be created should be created for each primary nav subitem (public/client/staff) * Remove the `plugin_actions` table h2. Model * Add Actions model * Add NavigationItems model * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now bull from the action or navigation tables instead of plugin actions | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(reserved) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** level ENUM('public', 'client', 'staff') ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff action that is enabled ** Navigation subitems should be created for each nav_secondary_staff and nav_secondary_client plugin action and each subitem of the nav_primary_staff actions * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item (public/client/staff) ** Navigation subitems should be created should be created for each primary nav subitem (public/client/staff) * Remove the `plugin_actions` table h2. Model * Add Actions model * Add NavigationItems model * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now bull from the action or navigation tables instead of plugin actions | 
| Description | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(reserved) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** level ENUM('public', 'client', 'staff') ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff action that is enabled ** Navigation subitems should be created for each nav_secondary_staff and nav_secondary_client plugin action and each subitem of the nav_primary_staff actions * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item (public/client/staff) ** Navigation subitems should be created should be created for each primary nav subitem (public/client/staff) * Remove the `plugin_actions` table h2. Model * Add Actions model * Add NavigationItems model * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now bull from the action or navigation tables instead of plugin actions | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(reserved) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** level ENUM('public', 'client', 'staff') ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff action that is enabled ** Navigation subitems should be created for each nav_secondary_staff and nav_secondary_client plugin action and each subitem of the nav_primary_staff actions * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item (public/client/staff) ** Navigation subitems should be created should be created for each primary nav subitem (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Add NavigationItems model * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now bull from the action or navigation tables instead of plugin actions | 
| Description | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(reserved) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** level ENUM('public', 'client', 'staff') ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff action that is enabled ** Navigation subitems should be created for each nav_secondary_staff and nav_secondary_client plugin action and each subitem of the nav_primary_staff actions * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item (public/client/staff) ** Navigation subitems should be created should be created for each primary nav subitem (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Add NavigationItems model * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now bull from the action or navigation tables instead of plugin actions | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(reserved) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** level ENUM('public', 'client', 'staff') ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff action that is enabled ** Navigation subitems should be created for each nav_secondary_staff and nav_secondary_client plugin action and each subitem of the nav_primary_staff actions * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item (public/client/staff) ** Navigation subitems should be created should be created for each primary nav subitem (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Add NavigationItems model * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now pull from the action or navigation tables instead of plugin actions | 
| Description | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(reserved) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** level ENUM('public', 'client', 'staff') ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff action that is enabled ** Navigation subitems should be created for each nav_secondary_staff and nav_secondary_client plugin action and each subitem of the nav_primary_staff actions * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item (public/client/staff) ** Navigation subitems should be created should be created for each primary nav subitem (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Add NavigationItems model * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now pull from the action or navigation tables instead of plugin actions | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(editable ) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** level ENUM('public', 'client', 'staff') ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff action that is enabled ** Navigation subitems should be created for each nav_secondary_staff and nav_secondary_client plugin action and each subitem of the nav_primary_staff actions * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item (public/client/staff) ** Navigation subitems should be created should be created for each primary nav subitem (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Add NavigationItems model * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now pull from the action or navigation tables instead of plugin actions | 
| Description | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(editable ) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** level ENUM('public', 'client', 'staff') ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff action that is enabled ** Navigation subitems should be created for each nav_secondary_staff and nav_secondary_client plugin action and each subitem of the nav_primary_staff actions * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item (public/client/staff) ** Navigation subitems should be created should be created for each primary nav subitem (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Add NavigationItems model * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now pull from the action or navigation tables instead of plugin actions | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** options TEXT DEFAULT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(editable ) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** level ENUM('public', 'client', 'staff') ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff action that is enabled ** Navigation subitems should be created for each nav_secondary_staff and nav_secondary_client plugin action and each subitem of the nav_primary_staff actions * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item (public/client/staff) ** Navigation subitems should be created should be created for each primary nav subitem (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Add NavigationItems model * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now pull from the action or navigation tables instead of plugin actions | 
| Assignee | Jonathan Reissmueller [ jonathan ] | 
 Automated transition triggered when Jonathan Reissmueller created a branch in Stash  -
            
        
            Automated transition triggered when Jonathan Reissmueller created a branch in Stash  - 
            | Status | Open [ 1 ] | In Progress [ 3 ] | 
| Remaining Estimate | 0 minutes [ 0 ] | |
| Time Spent | 38 minutes [ 2280 ] | |
| Worklog Id | 14379 [ 14379 ] | 
| Description | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** options TEXT DEFAULT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(editable ) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** level ENUM('public', 'client', 'staff') ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff action that is enabled ** Navigation subitems should be created for each nav_secondary_staff and nav_secondary_client plugin action and each subitem of the nav_primary_staff actions * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item (public/client/staff) ** Navigation subitems should be created should be created for each primary nav subitem (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Add NavigationItems model * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now pull from the action or navigation tables instead of plugin actions | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff','nav_public', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** options TEXT DEFAULT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(editable ) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** level ENUM('public', 'client', 'staff') ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff action that is enabled ** Navigation subitems should be created for each nav_secondary_staff and nav_secondary_client plugin action and each subitem of the nav_primary_staff actions * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item (public/client/staff) ** Navigation subitems should be created should be created for each primary nav subitem (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Add NavigationItems model * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now pull from the action or navigation tables instead of plugin actions | 
| Description | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff','nav_public', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** options TEXT DEFAULT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(editable ) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** level ENUM('public', 'client', 'staff') ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff action that is enabled ** Navigation subitems should be created for each nav_secondary_staff and nav_secondary_client plugin action and each subitem of the nav_primary_staff actions * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item (public/client/staff) ** Navigation subitems should be created should be created for each primary nav subitem (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Add NavigationItems model * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now pull from the action or navigation tables instead of plugin actions | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff','nav_public', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** options TEXT DEFAULT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(editable ) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** level ENUM('public', 'client', 'staff') ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff and nav_primary_client action that is enabled and their subitems ** Navigation items should be created for each nav_secondary_staff and nav_secondary_client plugin action * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item and their subitems (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Add NavigationItems model * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now pull from the action or navigation tables instead of plugin actions | 
| Description | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff','nav_public', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** options TEXT DEFAULT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(editable ) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** level ENUM('public', 'client', 'staff') ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff and nav_primary_client action that is enabled and their subitems ** Navigation items should be created for each nav_secondary_staff and nav_secondary_client plugin action * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item and their subitems (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Add NavigationItems model * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now pull from the action or navigation tables instead of plugin actions | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff','nav_public', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** options TEXT DEFAULT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(editable ) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** level ENUM('public', 'client', 'staff') ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff and nav_primary_client action that is enabled and their subitems ** Navigation items should be created for each nav_secondary_staff and nav_secondary_client plugin action * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item and their subitems (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Update Navigation model to pull in navigation items from the database * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now pull from the action or navigation tables instead of plugin actions | 
| Description | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff','nav_public', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** options TEXT DEFAULT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(editable ) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** level ENUM('public', 'client', 'staff') ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff and nav_primary_client action that is enabled and their subitems ** Navigation items should be created for each nav_secondary_staff and nav_secondary_client plugin action * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item and their subitems (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Update Navigation model to pull in navigation items from the database * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now pull from the action or navigation tables instead of plugin actions | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff','nav_public', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** options TEXT DEFAULT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(editable ) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff and nav_primary_client action that is enabled and their subitems ** Navigation items should be created for each nav_secondary_staff and nav_secondary_client plugin action * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item and their subitems (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Update Navigation model to pull in navigation items from the database * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now pull from the action or navigation tables instead of plugin actions | 
| Description | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff','nav_public', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** options TEXT DEFAULT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(editable ) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff and nav_primary_client action that is enabled and their subitems ** Navigation items should be created for each nav_secondary_staff and nav_secondary_client plugin action * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item and their subitems (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Update Navigation model to pull in navigation items from the database * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now pull from the action or navigation tables instead of plugin actions | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff','nav_public', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** options TEXT DEFAULT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff and nav_primary_client action that is enabled and their subitems ** Navigation items should be created for each nav_secondary_staff and nav_secondary_client plugin action * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item and their subitems (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Update Navigation model to pull in navigation items from the database * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now pull from the action or navigation tables instead of plugin actions | 
| Original Estimate | 0 minutes [ 0 ] | |
| Security | Private [ 10000 ] | 
| Description | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff','nav_public', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** options TEXT DEFAULT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff and nav_primary_client action that is enabled and their subitems ** Navigation items should be created for each nav_secondary_staff and nav_secondary_client plugin action * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item and their subitems (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Update Navigation model to pull in navigation items from the database * Update the plugin manager to add/remove/update actions and nav items h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other * Make sure all action display locations now pull from the action or navigation tables instead of plugin actions | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff','nav_public', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** options TEXT DEFAULT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff and nav_primary_client action that is enabled and their subitems ** Navigation items should be created for each nav_secondary_staff and nav_secondary_client plugin action * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item and their subitems (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Update Navigation model to pull in navigation items from the database * Update the plugin manager to add/remove/update actions and nav items * Make sure all action display locations now pull from the action or navigation models h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other | 
| Time Spent | 38 minutes [ 2280 ] | 3 hours, 50 minutes [ 13800 ] | 
| Worklog Id | 14517 [ 14517 ] | 
| Time Spent | 3 hours, 50 minutes [ 13800 ] | 4 hours, 45 minutes [ 17100 ] | 
| Worklog Id | 14525 [ 14525 ] | 
| Time Spent | 4 hours, 45 minutes [ 17100 ] | 1 day, 17 minutes [ 29820 ] | 
| Worklog Id | 14530 [ 14530 ] | 
| Sprint | 5.0.0 Sprint 4 [ 121 ] | 5.0.0 Sprint 5 [ 122 ] | 
| Rank | Ranked lower | 
| Description | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff','nav_public', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** options TEXT DEFAULT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** index(location) ** index(plugin_id) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** company_id INT(10) UNSIGNED NOT NULL ** action_id INT(10) UNSIGNED NOT NULL ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(company_id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff and nav_primary_client action that is enabled and their subitems ** Navigation items should be created for each nav_secondary_staff and nav_secondary_client plugin action * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item and their subitems (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Update Navigation model to pull in navigation items from the database * Update the plugin manager to add/remove/update actions and nav items * Make sure all action display locations now pull from the action or navigation models h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff','nav_public', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** options TEXT DEFAULT NULL ** company_id INT(10) UNSIGNED NOT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** unique(url, location, company_id) ** index(company_id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(editable) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** action_id INT(10) UNSIGNED NOT NULL ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff and nav_primary_client action that is enabled and their subitems ** Navigation items should be created for each nav_secondary_staff and nav_secondary_client plugin action * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item and their subitems (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Update Navigation model to pull in navigation items from the database * Update the plugin manager to add/remove/update actions and nav items * Make sure all action display locations now pull from the action or navigation models h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other | 
| Description | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff','nav_public', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** options TEXT DEFAULT NULL ** company_id INT(10) UNSIGNED NOT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** unique(url, location, company_id) ** index(company_id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(editable) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** action_id INT(10) UNSIGNED NOT NULL ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff and nav_primary_client action that is enabled and their subitems ** Navigation items should be created for each nav_secondary_staff and nav_secondary_client plugin action * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item and their subitems (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Update Navigation model to pull in navigation items from the database * Update the plugin manager to add/remove/update actions and nav items * Make sure all action display locations now pull from the action or navigation models h2. "Action Links" Action Creation Interface * Add action list page ** List only core (nav) actions here ** Edit/Delete buttons should be removed for uneditable actions ** Show name, url, and enabled (using icons) * Add an Add Action Link page ** Fields include a name text field, is_language checkbox, uri text field, location select, and enabled checkbox ** Should we limit location to the nav types? * Add an identical Edit Action Link page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other | We need to have a way of customizing the navigation for both the client nav and the admin nav.  We need to do this in a way that automatically replicates the current navigation. h2. Database Create new tables: * actions ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** location ENUM('nav_client', 'nav_staff','nav_public', 'widget_client_home', 'widget_staff_home', 'widget_staff_client', 'widget_staff_billing', 'action_staff_client') NOT NULL DEFAULT 'nav_staff', ** url VARCHAR(255) NOT NULL ** name VARCHAR(128) NOT NULL ** options TEXT DEFAULT NULL ** company_id INT(10) UNSIGNED NOT NULL ** plugin_id INT(10) UNSIGNED NULL DEFAULT NULL ** enabled TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** editable TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ** primary(id) ** unique(url, location, company_id) ** index(company_id) ** index(location) ** index(plugin_id) ** index(enabled) ** index(editable) * navigation_items ** id INT(10) UNSIGNED NOT NULL AUTOINCREMENT ** action_id INT(10) UNSIGNED NOT NULL ** order SMALLINT(5) UNSIGNED NOT NULL ** parent_id INT(10) UNSIGNED NULL DEFAULT NULL ** primary(id) ** index(action_id) ** index(parent_id) Remove the `plugin_actions` table h2. Migrations Create migrations to: * Add new tables * Move plugin actions to the new tables ** Actions should be created for each plugin action AND their sub items ** Navigation items should be created should be created for each plugin nav_primary_staff and nav_primary_client action that is enabled and their subitems ** Navigation items should be created for each nav_secondary_staff and nav_secondary_client plugin action * Move core nav items fetched from the navigation model to the new tables ** Actions should be created for each primary nav item AND their sub items (public/client/staff) ** Navigation items should be created should be created for each primary nav item and their subitems (public/client/staff) * Remove the `plugin_actions` table h2. Models * Add Actions model * Update Navigation model to pull in navigation items from the database * Update the plugin manager to add/remove/update actions and nav items * Make sure all action display locations now pull from the action or navigation models h2. Action Creation Interface * Add an "Actions" settings nav item under Look and Feel * Add action list page ** List only editable core (nav) actions here ** Show name and url * Add an Add Action page ** Fields include a name text field, uri text field, and location select ** Limit location to the nav types * Add an identical Edit Action page ** Make sure this page will redirect for uneditable actions h2. "Navigation" Nav Buliding Interface * Tabs for client nav and admin nav * Available actions list that shows all actions available to be added to the navigation ** There should be an "Add" button on each row that adds the action as a nav item at the bottom of the navigation * Drag and drop interface for building and organizing navigation with indentation for subitems ** There should be a "Remove" button on each row to remove the nav item from the navigation ** We should have some way of marking a nav item as a subitem which would make it appear indented *** A checkbox? A clickable icon? *** In the back end we can auto assign these sub items to the most recently seen primary nav item * It would be nice to have some kind of preview of the navigation, but it is not essential h2. Other | 
| Time Spent | 1 day, 17 minutes [ 29820 ] | 1 day, 2 hours, 43 minutes [ 38580 ] | 
| Worklog Id | 14534 [ 14534 ] | 
| Time Spent | 1 day, 2 hours, 43 minutes [ 38580 ] | 2 days, 40 minutes [ 60000 ] | 
| Worklog Id | 14546 [ 14546 ] | 
| Time Spent | 2 days, 40 minutes [ 60000 ] | 2 days, 5 hours, 6 minutes [ 75960 ] | 
| Worklog Id | 14553 [ 14553 ] | 
| Time Spent | 2 days, 5 hours, 6 minutes [ 75960 ] | 3 days, 1 hour, 36 minutes [ 92160 ] | 
| Worklog Id | 14555 [ 14555 ] | 
| Time Spent | 3 days, 1 hour, 36 minutes [ 92160 ] | 3 days, 2 hours, 36 minutes [ 95760 ] | 
| Worklog Id | 14555 [ 14555 ] | 
| Status | In Progress [ 3 ] | In Review [ 5 ] | 
| Resolution | Fixed [ 1 ] | 
| Time Spent | 3 days, 2 hours, 36 minutes [ 95760 ] | 3 days, 6 hours, 3 minutes [ 108180 ] | 
| Worklog Id | 14572 [ 14572 ] | 
| Time Spent | 3 days, 6 hours, 3 minutes [ 108180 ] | 3 days, 7 hours, 21 minutes [ 112860 ] | 
| Worklog Id | 14573 [ 14573 ] | 
| Time Spent | 3 days, 7 hours, 21 minutes [ 112860 ] | 4 days [ 115200 ] | 
| Worklog Id | 14584 [ 14584 ] | 
| Time Spent | 4 days [ 115200 ] | 4 days, 1 hour, 4 minutes [ 119040 ] | 
| Worklog Id | 14587 [ 14587 ] | 
| Sprint | 5.0.0 Sprint 5 [ 122 ] | 5.0.0 Sprint 6 [ 123 ] | 
| Rank | Ranked lower | 
| Time Spent | 4 days, 1 hour, 4 minutes [ 119040 ] | 4 days, 1 hour, 19 minutes [ 119940 ] | 
| Worklog Id | 14593 [ 14593 ] | 
| Status | In Review [ 5 ] | Closed [ 6 ] | 
