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

Client Area: Add information overview/summary boxes to the top of the client dashboard

    Details

    • Type: Story
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.4.0
    • Fix Version/s: 4.11.0-b1
    • Component/s: Client Interface
    • Labels:
      None

      Description

      Add summary boxes to the top of the client area dashboard, that provides a quick overview of the account. May need to create a method by which plugins can create their own boxes here, and be enabled/disabled in the admin interface. We may wish to ship, installed by default, a plugin that renders standard boxes that we ship with Blesta, and allow other plugins to create their own.

      If there are more than 4, then we can either create a scroller, or wrap them onto the next line pushing down the other content. I would probably prefer to have them wrap onto the next line.

      I've mocked up an example, attached. Colors, exact design, and content of default boxes yet to be determined.


      This will be a plugin based functionality. Plugins should be able to define a list of "Cards". In spite of the screenshot, these cards should be displayed at the top of the client profile but below the message box.

      Create a new table plugin_cards

      • id INT(10) UNSIGNED AUTOINCREMENT primary key
      • plugin_id INT(10) UNSIGNED NOT NULL
      • level ENUM('client', 'staff') NOT NULL DEFAULT 'client'
      • value_callback VARCHAR(255) NULL DEFAULT NULL
      • label VARCHAR(255) NULL DEFAULT NULL
      • html_callback VARCHAR(255) NULL DEFAULT NULL
      • background_color VARCHAR(255) NULL DEFAULT NULL
      • background_image VARCHAR(255) NULL DEFAULT NULL
      • enabled TINYINT(1) NOT NULL DEFAULT '1'

      The Plugin class should add a new method getCards() similar to getActions(). Each card should support the following fields:

      • level: The level this card should be displayed on (client or staff) (optional, default client)
      • value_callback: A method defined by the plugin class for calculating the value of the Card. This method should at the least receive a $client_id parameter.
      • label: A string or language key appearing under the value as a label
      • html_callback: overrides the value_callback and label fields allowing plugins to insert an custom html in their place through a callback method
      • link: The link url to use for wrapping the card in an <a> (optional)
      • background-color: The default background color for this card (optional)
      • background-image: The path to the default background image for this card (optional)
      • enabled: Whether this card appears on client profiles by default (optional, default true)

      Info on these cards, like actions, should be stored in the database and updated automatically on upgrade.

      A new settings page should be created Company >> Look and Feel >> Client Layout (don't forget to add permissions for this page).

      • Card order should be changeable here
      • Card background-color should be changeable here
      • A graphical preview of the cards section should appear here
      • Cards should be enabled/disabled from here

      A new plugin should be created for the basic cards

      • The name of the plugin should be Client Cards
      • The plugin should include the following cards: Services [Active/Suspended] and Invoices [Proforma/Open (active w/ no date_closed)]
      • The plugin should be installed with Blesta by default (like the System Overview)
      • The plugin should be installed when upgrading Blesta to 4.11

      The Support Manager should be updated to include a card:

      • value_callback: Method returning the number of open support tickets from the client
      • label: Tickets
      • link: client_uri + plugin/support_manager/client_tickets/
      • background-color: TBD

      The Order plugin should be updated to include a card:

      • value_callback: Method returning the number of pending or accepted orders from the client
      • label: Orders
      • link: client_uri + plugin/order/orders/
      • background-color: TBD

        Activity

        There are no comments yet on this issue.

          People

          • Assignee:
            abdy Abdy Franco
            Reporter:
            admin Paul Phillips
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:
              Fix Release Date:
              10/Jul/20

              Time Tracking

              Estimated:
              Original Estimate - Not Specified
              Not Specified
              Remaining:
              Remaining Estimate - 0 minutes
              0m
              Logged:
              Time Spent - 1 week, 2 days, 2 hours, 15 minutes
              1w 2d 2h 15m

                Agile