1. Introduction
GR8 CRM is a set of Grails Web Application Framework plugins that makes it easy to develop web applications with CRM functionality.
You can find more information about GR8 CRM on the main documentation site http://gr8crm.github.io.
1.1. Customer Relationship Management
Customer relationship management (CRM) is a system for managing a company’s interactions with current and future customers. It involves using technology to organize, automate and synchronize sales, marketing, customer service, and technical support. Wikipedia
The GR8 CRM "Ecosystem" currently contains over 40 Grails plugins. For a complete list of plugins see http://gr8crm.github.io.
Each GR8 CRM plugin defines a Bounded Context that focus on one specific domain, for example contact, project or document.
2. Sales/Lead User Interface Plugin
The crm-sales-ui
plugin provides a Twitter Bootstrap user interface for managing leads and sales opportunities.
It depends on the crm-sales
plugin for low level services and persistence.
3. CRUD user interface
The plugin provide user interface for creating and updating sales upportunities. It follows the same CRUD workflow
as other GR8 CRM -ui
plugins.
3.1. Create new sales opportunity
You can create a new sales opportunity from all pages where you can search, list or view opportunities. Just press the [New Opportunity] button and enter information in the create opportunity form.
3.2. Edit existing sales opportunity
When you view an existing opportunity you can alter information by pressing the [Edit] button.
3.3. Find opportunities
The search form have several input fields where you can enter search criteria. When you hit [Search] you will either be presented with a list of matching opportunities or if there is only one match it will be displayed immediately.
3.4. List opportunities
When you search for opportunities and more than one match you search criteria, a list will displayed where you can select an opportunity to view details.
4. Project Roles
A sales opportunity can have multiple people assigned to different roles. You can specify the project manager that will lead the project, or the sales support staff that are assigned to the project. As an administrator you can add as many role types as you want. These roles can then be used to assign people to the sales opportunity.
To add a role other than customer and contact you press the [Add role] button on the Roles tab. You can add contacts already in your address book or create a new contact by entering new name. The new contact will be added to your address book when you save the project.
5. Sales staff
When creating or updating a sales project you can select the responsible sales representative from a dropdown list.
This dropdown list is populated using an application event crmTenant.getUsers
. You must add an event listener in
one of your application services that listens to this event and returns a list of users (sales staff).
For a list of all registered users you can add something like this to a service in your application:
@Listener(namespace="crmTenant", topic="getUsers")
def listAllUsersInTenant(data) {
CrmUserRole.createCriteria().list(sort: 'user.name', order: 'asc') {
resultTransformer CriteriaSpecification.ALIAS_TO_ENTITY_MAP
projections {
user {
property('id', 'id')
property('guid', 'guid')
property('username', 'username')
property('name', 'name')
property('email', 'email')
}
}
role {
eq('tenantId', data.tenant)
}
}
}
6. Configuration
The crm-sales-ui
plugin can be configured with the following parameters.
Key | Description | Default value |
---|---|---|
crm.currency.default |
Default currency code when |
"EUR" |
crm.sales.probabilities |
List of valid probability options (rendered in <select>) |
[0, 0.2, 0.4, 0.6, 0.8, 1] |
crm.sales.export.timeout |
Timeout (in seconds) waiting for export process to finish |
60 |
7. Changes
- 2.4.0
-
First public release
8. License
This plugin is licensed with Apache License version 2.0
9. Source Code
The source code for this plugin is available at https://github.com/technipelago/grails-crm-sales-ui
10. Contributing
Please report issues or suggestions.
Want to improve the plugin: Fork the repository and send a pull request.