Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Record Creation From Inbound Emails Missing #10363

Open
pstevens71 opened this issue Feb 21, 2024 · 3 comments
Open

Record Creation From Inbound Emails Missing #10363

pstevens71 opened this issue Feb 21, 2024 · 3 comments
Labels
Area: Emails Issues & PRs related to all things regarding emails & email module Status:Fix Proposed A issue that has a PR related to it that provides a possible resolution Type:Suggestion Issue containing a suggestion of functionality, process or UI. Associated PRs are called enhancement

Comments

@pstevens71
Copy link
Contributor

pstevens71 commented Feb 21, 2024

Issue

The issue is that if an email is already imported there are a whole bunch of other options in the ACTIONS menu like: Create Case, Create Bug, Create Lead... etc.
image

However, when an email is not imported yet, these options are missing (and would be super convenient!!!)

I found the problem. These two views use different viewdefs depending if the email has been imported or not. These button options are just missing from the non-imported email view.

Expected Behavior

I'd expect to see the same options on non-imported email as I do when I'm viewing an already imported email.

Actual Behavior

What actually happens is for non-imported emails this template is used instead: \modules\Emails\metadata\nonimporteddetailviewdefs.php which doesn't contain all the button options. It's almost like they are forgotten.

Possible Fix

The fix is easy, just copy in the button code to the nonimporteddetailviewdefs.php as well as the includes for the quickcreate:

                    'customCode' => '<input type=button onclick="openQuickCreateModal(\'Bugs\',\'&name={$bean->name}\',\'{$bean->from_addr_name}\');" value="{$MOD.LBL_CREATE} {$APP.LBL_EMAIL_QC_BUGS}">'
                        . '<input type="hidden" id="parentEmailId" name="parentEmailId" value="{$bean->id}">'
                ),
				array(
                    'customCode' => '<input type=button onclick="openQuickCreateModal(\'Cases\',\'&name={$bean->name}\',\'{$bean->from_addr_name}\');" value="{$MOD.LBL_CREATE} {$APP.LBL_EMAIL_QC_CASES}">'
                        . '<input type="hidden" id="parentEmailId" name="parentEmailId" value="{$bean->id}">'
                ),
                array(
                    'customCode' => '<input type=button onclick="openQuickCreateModal(\'Contacts\',\'&last_name={$bean->name}\',\'{$bean->from_addr_name}\');" value="{$MOD.LBL_CREATE} {$APP.LBL_EMAIL_QC_CONTACTS}">'
                        . '<input type="hidden" id="parentEmailId" name="parentEmailId" value="{$bean->id}">'
                ),
                array(
                    'customCode' => '<input type=button onclick="openQuickCreateModal(\'Leads\',\'&last_name={$bean->name}\',\'{$bean->from_addr_name}\');" value="{$MOD.LBL_CREATE} {$APP.LBL_EMAIL_QC_LEADS}">'
                        . '<input type="hidden" id="parentEmailId" name="parentEmailId" value="{$bean->id}">'
                ),
                array(
                    'customCode' => '<input type=button onclick="openQuickCreateModal(\'Opportunities\',\'&name={$bean->name}\',\'{$bean->from_addr_name}\');" value="{$MOD.LBL_CREATE} {$APP.LBL_EMAIL_QC_OPPORTUNITIES}">'
                        . '<input type="hidden" id="parentEmailId" name="parentEmailId" value="{$bean->id}">'
                ), ```


And to the includes array:


```array(
                'file' => 'modules/Emails/include/DetailView/quickCreateModal.js',
            ),``` 



#### Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug include code to reproduce, if relevant -->
1. Look at an email that has not been imported, all the record creation options are missing
2.Look an an email that has been imported, you will see all the creation options
3. Add the button code and the includes to \modules\Emails\metadata\nonimporteddetailviewdefs.php
4. enjoy the new functionality!
5. 
#### Context
<!--- How has this bug affected you? What were you trying to accomplish? -->
<!--- If you feel this should be a low/medium/high priority then please state so -->
This is super useful because often you get emails in a personal email (non group account) that is not already imported and you'd like to do things like create cases, opportunities, etc. 

#### Your Environment
<!--- Include as many relevant details about the environment you experienced the bug in -->
* SuiteCRM Version used: 7.12.8
* Browser name and version (e.g. Chrome Version 51.0.2704.63 (64-bit)):
* Environment name and version (e.g. MySQL, PHP 7):  PHP 7.4
* Operating System and version (e.g Ubuntu 16.04):

@chris001
Copy link
Contributor

Nice discovery! When you Create Bug, Case, Contact, Lead, Opportunity, from a not-imported email, isn't that bad, because the email's sitting out at the mail server, it's not imported, so that means you don't have its contents/headers saved in the db to refer back to later on when needed. You want the email to be imported to the db when it's relevant enough to create these actionable CRM objects: a bug, case, contact, lead, or opportunity, right?

@SuiteBot
Copy link

This issue has been mentioned on SuiteCRM. There might be relevant details there:

https://community.suitecrm.com/t/suitecrm-email-client-how-to-create-any-record-lead-contact-etc-manually-directly-in-7-10-2/56212/11

@pstevens71
Copy link
Contributor Author

Hey Chris, there are many use cases where you want to create the record first and then import it. For example, you get a referral ie; "company abc referred me to you, lets talk about xyz" What you really want to do is attach the email to a lead, but there is no lead yet. So you have to go and create a lead in the lead module, come back to email and then attach it. With this modification, you can now create the lead right from the inbox. Once the lead is created, it gives you the option to return to the email, which you can then import and attach to the lead. Not perfect, but way better. Ideally, the email would be imported and related to the record just created. I'm going to further investigate how hard it would be to hook into the import function at the same time and maybe do it all in one step.

@johnM2401 johnM2401 added Status:Fix Proposed A issue that has a PR related to it that provides a possible resolution Type:Suggestion Issue containing a suggestion of functionality, process or UI. Associated PRs are called enhancement Area: Emails Issues & PRs related to all things regarding emails & email module labels Feb 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Emails Issues & PRs related to all things regarding emails & email module Status:Fix Proposed A issue that has a PR related to it that provides a possible resolution Type:Suggestion Issue containing a suggestion of functionality, process or UI. Associated PRs are called enhancement
Projects
None yet
Development

No branches or pull requests

4 participants