{"id":5992,"date":"2021-08-20T01:59:25","date_gmt":"2021-08-20T01:59:25","guid":{"rendered":"https:\/\/tst-blog.myenterprise.in\/?p=5992"},"modified":"2025-01-14T09:03:59","modified_gmt":"2025-01-14T09:03:59","slug":"creating-file-upload-field-core-module-custom-module-sugar-11-x","status":"publish","type":"post","link":"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/","title":{"rendered":"Creating a File Upload Field for a Core Module \/ Custom Module in Sugar 11.x"},"content":{"rendered":"<p class=\"has-drop-cap is-cnvs-dropcap-bg-light\">As we all know out of the box Sugar has the facility to add a file upload field only in few of the core modules and custom modules of module template type \u2018file\u2019. This article will explain you how we can add a file upload field to any of the core modules or any custom module which is not a file type module template.<\/p>\n\n\n<hr class=\"wp-block-separator has-text-color has-gray-200-color has-alpha-channel-opacity has-gray-200-background-color has-background is-style-cnvs-separator-double\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Our first step is to create a new file type field for our module. Follow the below steps to achieve that.<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Create a new file in the following path\n<ul class=\"wp-block-list\">\n<li>custom\/Extension\/modules\/{YOUR_MODULE}\/Ext\/Vardefs\/sugarfield_{your_field_name}.php and add the below code.<\/li>\n\n\n\n<li>And add the below code:<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#e0def4;--cbp-line-number-width:calc(2 * 0.6 * 1rem);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#242134;color:#cecbee\">PHP<\/span><span role=\"button\" tabindex=\"0\" data-code=\"&lt;?php\n\n$GLOBALS['dictionary']['{YOUR_MODULE_KEY}']['fields']['filename'] = array (\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'name' =&gt; 'filename',\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'vname' =&gt; 'LBL_FILENAME',\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'type' =&gt; 'file',\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'dbType' =&gt; 'varchar',\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'len' =&gt; '255',\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'reportable' =&gt; true,\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'comment' =&gt; 'File name associated with the note (attachment)',\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'importable' =&gt; false,\n\n);\n\n$GLOBALS['dictionary']['{YOUR_MODULE_KEY}']['fields']['file_mime_type'] = array(\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'name' =&gt; 'file_mime_type',\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'vname' =&gt; 'LBL_FILE_MIME_TYPE',\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'type' =&gt; 'varchar',\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'len' =&gt; '100',\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'comment' =&gt; 'Attachment MIME type',\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'importable' =&gt; false,\n\n);\n\n$GLOBALS['dictionary']['{YOUR_MODULE_KEY}']['fields']['file_url'] = array (\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'name' =&gt; 'file_url',\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'vname' =&gt; 'LBL_FILE_URL',\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'type' =&gt; 'varchar',\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'source' =&gt; 'non-db',\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'reportable' =&gt; false,\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'comment' =&gt; 'Path to file (can be URL)',\n\n\u00a0\u00a0\u00a0\u00a0\u00a0'importable' =&gt; false,\n\n);\" style=\"color:#e0def4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki rose-pine\" style=\"background-color: #191724\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #31748F\">&lt;?php<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">GLOBALS<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;dictionary&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;{YOUR_MODULE_KEY}&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;fields&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;filename&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #EB6F92; font-style: italic\">array<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #908CAA\">(<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;name&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;filename&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;vname&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;LBL_FILENAME&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;type&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;file&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;dbType&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;varchar&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;len&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;255&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;reportable&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #EBBCBA\">true<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;comment&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;File name associated with the note (attachment)&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;importable&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #EBBCBA\">false<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #908CAA\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">GLOBALS<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;dictionary&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;{YOUR_MODULE_KEY}&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;fields&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;file_mime_type&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #EB6F92; font-style: italic\">array<\/span><span style=\"color: #908CAA\">(<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;name&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;file_mime_type&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;vname&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;LBL_FILE_MIME_TYPE&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;type&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;varchar&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;len&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;100&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;comment&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;Attachment MIME type&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;importable&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #EBBCBA\">false<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #908CAA\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">GLOBALS<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;dictionary&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;{YOUR_MODULE_KEY}&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;fields&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;file_url&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #EB6F92; font-style: italic\">array<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #908CAA\">(<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;name&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;file_url&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;vname&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;LBL_FILE_URL&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;type&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;varchar&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;source&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;non-db&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;reportable&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #EBBCBA\">false<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;comment&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;Path to file (can be URL)&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #F6C177\">&#39;importable&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #EBBCBA\">false<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #908CAA\">);<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<pre class=\"wp-block-verse\"><strong>Note: <\/strong>To find {YOUR_MODULE_KEY} navigate to<br>cache\/modules\/{YOUR_MODULE}\/{YOUR_MODULE}vardefs.php and look for the key being used for $dictionary array.<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Define the display label for your new field. For that create a new file in the following path.\n<ul class=\"wp-block-list\">\n<li>custom\/Extension\/modules\/{YOUR_MODULE}\/Ext\/Language\/{your_field_name}.en_us.lang.php<\/li>\n\n\n\n<li>and add the below code.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#e0def4;--cbp-line-number-width:calc(1 * 0.6 * 1rem);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#242134;color:#cecbee\">PHP<\/span><span role=\"button\" tabindex=\"0\" data-code=\"&lt;?php\n\n$mod_strings['LBL_FILE_MIME_TYPE'] = 'File Mime Type';\n\n$mod_strings['LBL_FILE_URL'] = 'File URL';\n\n$mod_strings['LBL_FILENAME'] = '{YOUR DISPLAY LABEL}';\" style=\"color:#e0def4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki rose-pine\" style=\"background-color: #191724\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #31748F\">&lt;?php<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">mod_strings<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;LBL_FILE_MIME_TYPE&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;File Mime Type&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">mod_strings<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;LBL_FILE_URL&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;File URL&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">mod_strings<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;LBL_FILENAME&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;{YOUR DISPLAY LABEL}&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>Navigate to <strong>Admin &gt; Repair &gt; Quick Repair and Rebuild.<\/strong> Once you run Q&amp;R system will ask for the confirmation to execute the SQL query to sync vardef with database. Click on execute button.\n<ul class=\"wp-block-list\">\n<li>Now you have created a new file type field for your module. Navigate to Admin &gt; Studio &gt; {YOUR_MODULE} &gt; Layouts &gt; Record View.<\/li>\n\n\n\n<li>Add your new field into the record view layout by drag and drop and click the Save and Deploy button. But we are not done yet!!<\/li>\n\n\n\n<li>Try to upload a new file from your record view and Save. It worked fine right\u2026\u2026? Now try deleting the file you have uploaded. System will throw an error. To delete the file Sugar is calling the removeFile endpoint defined in clients\/base\/api\/FileApi.php, <\/li>\n\n\n\n<li>This method has a condition like below:<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#e0def4;--cbp-line-number-width:calc(2 * 0.6 * 1rem);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#242134;color:#cecbee\">PHP<\/span><span role=\"button\" tabindex=\"0\" data-code=\"if (method_exists($bean, 'deleteAttachment')) {\n\n\u00a0\u00a0\u00a0\u00a0\u00a0if (!$bean-&gt;deleteAttachment()) {\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ @TODO Localize this exception message\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0throw new SugarApiExceptionRequestMethodFailure('Removal of attachment failed.');\n    }\n} else {\n\n\u00a0\u00a0\u00a0\u00a0\/\/ @TODO Localize this exception message\n\n\u00a0\u00a0\u00a0\u00a0throw new SugarApiExceptionNoMethod('No method found to remove attachment.');\n\n\u00a0}\" style=\"color:#e0def4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki rose-pine\" style=\"background-color: #191724\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #31748F\">if<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #908CAA\">(<\/span><span style=\"color: #EB6F92; font-style: italic\">method_exists<\/span><span style=\"color: #908CAA\">(<\/span><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">bean<\/span><span style=\"color: #908CAA\">,<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;deleteAttachment&#39;<\/span><span style=\"color: #908CAA\">))<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #908CAA\">{<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EBBCBA\">\u00a0\u00a0\u00a0\u00a0\u00a0if<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #908CAA\">(<\/span><span style=\"color: #31748F\">!<\/span><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">bean<\/span><span style=\"color: #31748F\">-&gt;<\/span><span style=\"color: #EBBCBA\">deleteAttachment<\/span><span style=\"color: #908CAA\">())<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #908CAA\">{<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #908CAA\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #908CAA; font-style: italic\">\/\/<\/span><span style=\"color: #6E6A86; font-style: italic\"> @TODO Localize this exception message<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0throw<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">new<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #9CCFD8\">SugarApiExceptionRequestMethodFailure<\/span><span style=\"color: #908CAA\">(<\/span><span style=\"color: #F6C177\">&#39;Removal of attachment failed.&#39;<\/span><span style=\"color: #908CAA\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">    <\/span><span style=\"color: #908CAA\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA\">}<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">else<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #908CAA\">{<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #908CAA\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #908CAA; font-style: italic\">\/\/<\/span><span style=\"color: #6E6A86; font-style: italic\"> @TODO Localize this exception message<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0throw<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">new<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #9CCFD8\">SugarApiExceptionNoMethod<\/span><span style=\"color: #908CAA\">(<\/span><span style=\"color: #F6C177\">&#39;No method found to remove attachment.&#39;<\/span><span style=\"color: #908CAA\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0<\/span><span style=\"color: #908CAA\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>So our next step is to add the&nbsp;\u2018deleteAttachment()\u2019&nbsp;method to your module bean.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As we can\u2019t &nbsp;modify the core bean file. We are going to extend the bean class of our module.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Create a new file in the following path (If you are modifying a core module, if you are modifying a custom module you will find the file already existing )\n<ul class=\"wp-block-list\">\n<li>custom\/Extension\/application\/Ext\/Include\/{YOUR_MODULE}.php<\/li>\n\n\n\n<li>and add the below code (if you are modifying a custom module, modify the existing value)<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#e0def4;--cbp-line-number-width:calc(1 * 0.6 * 1rem);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#242134;color:#cecbee\">PHP<\/span><span role=\"button\" tabindex=\"0\" data-code=\"&lt;?php\n\n$beanList['{YOUR_MODULE_NAME}'] = 'Custom{YOUR_MODULE_KEY}'\n$beanFiles['Custom{YOUR_MODULE_KEY}'] = 'custom\/modules\/{YOUR_MODULE}\/Custom{YOUR_MODULE_KEY}.php';\" style=\"color:#e0def4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki rose-pine\" style=\"background-color: #191724\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #31748F\">&lt;?php<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">beanList<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;{YOUR_MODULE_NAME}&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;Custom{YOUR_MODULE_KEY}&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">beanFiles<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;Custom{YOUR_MODULE_KEY}&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;custom\/modules\/{YOUR_MODULE}\/Custom{YOUR_MODULE_KEY}.php&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<pre class=\"wp-block-verse\"><strong>Note<\/strong>: For core modules you can find the {YOUR_MODULE_KEY} in Include\/modules.php file<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If your Module is <strong>Accounts <\/strong>the above two lines will look like below:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#e0def4;--cbp-line-number-width:calc(1 * 0.6 * 1rem);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#242134;color:#cecbee\">PHP<\/span><span role=\"button\" tabindex=\"0\" data-code=\"&lt;?php\n\n$beanList['Accounts']\u00a0=\u00a0'CustomAccount';\n$beanFiles['CustomAccount']\u00a0=\u00a0'custom\/modules\/Accounts\/CustomAccount.php';\" style=\"color:#e0def4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki rose-pine\" style=\"background-color: #191724\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #31748F\">&lt;?php<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">beanList<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;Accounts&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #31748F\">\u00a0=\u00a0<\/span><span style=\"color: #F6C177\">&#39;CustomAccount&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">beanFiles<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;CustomAccount&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #31748F\">\u00a0=\u00a0<\/span><span style=\"color: #F6C177\">&#39;custom\/modules\/Accounts\/CustomAccount.php&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Now you can extend your module\u2019s core class and add the below code in <strong>custom\/modules\/{YOUR_MODULE}\/Custom{YOUR_MODULE_KEY}.php<\/strong><\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#e0def4;--cbp-line-number-width:calc(2 * 0.6 * 1rem);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#242134;color:#cecbee\">PHP<\/span><span role=\"button\" tabindex=\"0\" data-code=\"&lt;?php\n\/*\n*The Above code is extending the Core Account bean class add adding deleteAttachment the function.\n*Replace Accounts with your module name\n*\/\n\nrequire_once 'modules\/Accounts\/Account.php';\n\nclass CustomAccount extends Account\n{\n\u00a0\u00a0\u00a0\u00a0function deleteAttachment($isduplicate = &quot;false&quot;)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (!$this-&gt;ACLAccess('edit')) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return false;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if ($isduplicate == &quot;true&quot;) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return true;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Only attempt to delete the file if there isn't an upload_id. When there is an upload_id, we just clear the\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ file metadata from the record. When there isn't an upload_id, we attempt to delete the file and clear the\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ file metadata.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (empty($this-&gt;upload_id) &amp;&amp; !UploadFile::unlink_file($this-&gt;id)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return false;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$this-&gt;filename = '';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$this-&gt;file_ext = '';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$this-&gt;file_mime_type = '';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$this-&gt;file = '';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$this-&gt;file_size = '';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$this-&gt;file_source = '';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$this-&gt;upload_id = '';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$this-&gt;save();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return true;\n\u00a0\u00a0\u00a0\u00a0}\n}\" style=\"color:#e0def4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki rose-pine\" style=\"background-color: #191724\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #31748F\">&lt;?php<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">\/*<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6E6A86; font-style: italic\">*The Above code is extending the Core Account bean class add adding deleteAttachment the function.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6E6A86; font-style: italic\">*Replace Accounts with your module name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">*\/<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">require_once<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;modules\/Accounts\/Account.php&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">class<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #9CCFD8\">CustomAccount<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">extends<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #C4A7E7; font-style: italic\">Account<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0function<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #EBBCBA\">deleteAttachment<\/span><span style=\"color: #908CAA\">(<\/span><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">isduplicate<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&quot;false&quot;<\/span><span style=\"color: #908CAA\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #908CAA\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EBBCBA\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #908CAA\">(<\/span><span style=\"color: #31748F\">!<\/span><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">this<\/span><span style=\"color: #31748F\">-&gt;<\/span><span style=\"color: #EBBCBA\">ACLAccess<\/span><span style=\"color: #908CAA\">(<\/span><span style=\"color: #F6C177\">&#39;edit&#39;<\/span><span style=\"color: #908CAA\">))<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #908CAA\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #EBBCBA\">false<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #908CAA\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EBBCBA\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #908CAA\">(<\/span><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">isduplicate<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">==<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&quot;true&quot;<\/span><span style=\"color: #908CAA\">)<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #908CAA\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #EBBCBA\">true<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #908CAA\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #908CAA\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #908CAA; font-style: italic\">\/\/<\/span><span style=\"color: #6E6A86; font-style: italic\"> Only attempt to delete the file if there isn&#39;t an upload_id. When there is an upload_id, we just clear the<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #908CAA; font-style: italic\">\/\/<\/span><span style=\"color: #6E6A86; font-style: italic\"> file metadata from the record. When there isn&#39;t an upload_id, we attempt to delete the file and clear the<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #908CAA; font-style: italic\">\/\/<\/span><span style=\"color: #6E6A86; font-style: italic\"> file metadata.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EBBCBA\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #908CAA\">(<\/span><span style=\"color: #EB6F92; font-style: italic\">empty<\/span><span style=\"color: #908CAA\">(<\/span><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">this<\/span><span style=\"color: #31748F\">-&gt;<\/span><span style=\"color: #E0DEF4; font-style: italic\">upload_id<\/span><span style=\"color: #908CAA\">)<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">&amp;&amp;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">!<\/span><span style=\"color: #9CCFD8\">UploadFile<\/span><span style=\"color: #31748F\">::<\/span><span style=\"color: #EBBCBA\">unlink_file<\/span><span style=\"color: #908CAA\">(<\/span><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">this<\/span><span style=\"color: #31748F\">-&gt;<\/span><span style=\"color: #E0DEF4; font-style: italic\">id<\/span><span style=\"color: #908CAA\">))<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #908CAA\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #EBBCBA\">false<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #908CAA\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">this<\/span><span style=\"color: #31748F\">-&gt;<\/span><span style=\"color: #E0DEF4; font-style: italic\">filename<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">this<\/span><span style=\"color: #31748F\">-&gt;<\/span><span style=\"color: #E0DEF4; font-style: italic\">file_ext<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">this<\/span><span style=\"color: #31748F\">-&gt;<\/span><span style=\"color: #E0DEF4; font-style: italic\">file_mime_type<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">this<\/span><span style=\"color: #31748F\">-&gt;<\/span><span style=\"color: #E0DEF4; font-style: italic\">file<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">this<\/span><span style=\"color: #31748F\">-&gt;<\/span><span style=\"color: #E0DEF4; font-style: italic\">file_size<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">this<\/span><span style=\"color: #31748F\">-&gt;<\/span><span style=\"color: #E0DEF4; font-style: italic\">file_source<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">this<\/span><span style=\"color: #31748F\">-&gt;<\/span><span style=\"color: #E0DEF4; font-style: italic\">upload_id<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">this<\/span><span style=\"color: #31748F\">-&gt;<\/span><span style=\"color: #EBBCBA\">save<\/span><span style=\"color: #908CAA\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #EBBCBA\">true<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #908CAA\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>Navigate to <strong>Admin &gt; Repair &gt; Quick Repair and Rebuild.<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><em>We are done!<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This customization is purely upgrade safe and On-demand compatible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Get started customizing your Sugar 11.x instance today! Let&#8217;s discuss about how we can help you achieve your goal of adding file upload fields to your core or custom modules. <a href=\"https:\/\/www.bhea.com\/contact-us\">Contact us now!<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"As we all know out of the box Sugar has the facility to add a file upload field&hellip;\n","protected":false},"author":5,"featured_media":7359,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"two_page_speed":[],"csco_singular_sidebar":"","csco_page_header_type":"","csco_appearance_masonry":"","csco_page_load_nextpost":"","csco_post_video_location":[],"csco_post_video_location_hash":"","csco_post_video_url":"","csco_post_video_bg_start_time":0,"csco_post_video_bg_end_time":0,"footnotes":""},"categories":[43],"tags":[87,47,88,86],"class_list":["post-5992","post","type-post","status-publish","format-standard","has-post-thumbnail","category-sugarcrm-development","tag-custom-modules","tag-sugarcrm","tag-sugarcrm-customisation","tag-sugarcrm-development","cs-entry","cs-video-wrap"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Creating a file upload field in Sugar11.x for core\/custom module<\/title>\n<meta name=\"description\" content=\"Create a new file upload field in core modules and custom modules by code level changes to the sugarcrm application.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Creating a file upload field in Sugar11.x for core\/custom module\" \/>\n<meta property=\"og:description\" content=\"Create a new file upload field in core modules and custom modules by code level changes to the sugarcrm application.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/\" \/>\n<meta property=\"og:site_name\" content=\"Bhea Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/bheatech\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-20T01:59:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-14T09:03:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-file-upload-field-core-module-custom.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1272\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ram Kumar L K\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bheacrm\" \/>\n<meta name=\"twitter:site\" content=\"@bheacrm\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ram Kumar L K\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/\"},\"author\":{\"name\":\"Ram Kumar L K\",\"@id\":\"https:\/\/bhea.com\/blog\/#\/schema\/person\/a9912878fb495e904e0528de93601505\"},\"headline\":\"Creating a File Upload Field for a Core Module \/ Custom Module in Sugar 11.x\",\"datePublished\":\"2021-08-20T01:59:25+00:00\",\"dateModified\":\"2025-01-14T09:03:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/\"},\"wordCount\":494,\"publisher\":{\"@id\":\"https:\/\/bhea.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-file-upload-field-core-module-custom.png\",\"keywords\":[\"Custom Modules\",\"SugarCRM\",\"SugarCRM Customisation\",\"SugarCRM Development\"],\"articleSection\":[\"SugarCRM Development\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/\",\"url\":\"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/\",\"name\":\"Creating a file upload field in Sugar11.x for core\/custom module\",\"isPartOf\":{\"@id\":\"https:\/\/bhea.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-file-upload-field-core-module-custom.png\",\"datePublished\":\"2021-08-20T01:59:25+00:00\",\"dateModified\":\"2025-01-14T09:03:59+00:00\",\"description\":\"Create a new file upload field in core modules and custom modules by code level changes to the sugarcrm application.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/#primaryimage\",\"url\":\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-file-upload-field-core-module-custom.png\",\"contentUrl\":\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-file-upload-field-core-module-custom.png\",\"width\":1920,\"height\":1272},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.bhea.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Creating a File Upload Field for a Core Module \/ Custom Module in Sugar 11.x\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/bhea.com\/blog\/#website\",\"url\":\"https:\/\/bhea.com\/blog\/\",\"name\":\"Bhea Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/bhea.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/bhea.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/bhea.com\/blog\/#organization\",\"name\":\"Bhea Technologies Pte Ltd\",\"url\":\"https:\/\/bhea.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/bhea.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/05\/Bhea_blog_logo.png\",\"contentUrl\":\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/05\/Bhea_blog_logo.png\",\"width\":1918,\"height\":460,\"caption\":\"Bhea Technologies Pte Ltd\"},\"image\":{\"@id\":\"https:\/\/bhea.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/bheatech\",\"https:\/\/x.com\/bheacrm\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/bhea.com\/blog\/#\/schema\/person\/a9912878fb495e904e0528de93601505\",\"name\":\"Ram Kumar L K\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/bhea.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/29d9eca3d4df82400075f5aee77299ada929924d3fa5c739fc394afe151926e2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/29d9eca3d4df82400075f5aee77299ada929924d3fa5c739fc394afe151926e2?s=96&d=mm&r=g\",\"caption\":\"Ram Kumar L K\"},\"url\":\"https:\/\/www.bhea.com\/blog\/author\/ram-kumar-lk\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Creating a file upload field in Sugar11.x for core\/custom module","description":"Create a new file upload field in core modules and custom modules by code level changes to the sugarcrm application.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/","og_locale":"en_US","og_type":"article","og_title":"Creating a file upload field in Sugar11.x for core\/custom module","og_description":"Create a new file upload field in core modules and custom modules by code level changes to the sugarcrm application.","og_url":"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/","og_site_name":"Bhea Blog","article_publisher":"https:\/\/www.facebook.com\/bheatech","article_published_time":"2021-08-20T01:59:25+00:00","article_modified_time":"2025-01-14T09:03:59+00:00","og_image":[{"width":1920,"height":1272,"url":"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-file-upload-field-core-module-custom.png","type":"image\/png"}],"author":"Ram Kumar L K","twitter_card":"summary_large_image","twitter_creator":"@bheacrm","twitter_site":"@bheacrm","twitter_misc":{"Written by":"Ram Kumar L K","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/#article","isPartOf":{"@id":"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/"},"author":{"name":"Ram Kumar L K","@id":"https:\/\/bhea.com\/blog\/#\/schema\/person\/a9912878fb495e904e0528de93601505"},"headline":"Creating a File Upload Field for a Core Module \/ Custom Module in Sugar 11.x","datePublished":"2021-08-20T01:59:25+00:00","dateModified":"2025-01-14T09:03:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/"},"wordCount":494,"publisher":{"@id":"https:\/\/bhea.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-file-upload-field-core-module-custom.png","keywords":["Custom Modules","SugarCRM","SugarCRM Customisation","SugarCRM Development"],"articleSection":["SugarCRM Development"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/","url":"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/","name":"Creating a file upload field in Sugar11.x for core\/custom module","isPartOf":{"@id":"https:\/\/bhea.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/#primaryimage"},"image":{"@id":"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-file-upload-field-core-module-custom.png","datePublished":"2021-08-20T01:59:25+00:00","dateModified":"2025-01-14T09:03:59+00:00","description":"Create a new file upload field in core modules and custom modules by code level changes to the sugarcrm application.","breadcrumb":{"@id":"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/#primaryimage","url":"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-file-upload-field-core-module-custom.png","contentUrl":"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-file-upload-field-core-module-custom.png","width":1920,"height":1272},{"@type":"BreadcrumbList","@id":"https:\/\/www.bhea.com\/blog\/creating-file-upload-field-core-module-custom-module-sugar-11-x\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.bhea.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Creating a File Upload Field for a Core Module \/ Custom Module in Sugar 11.x"}]},{"@type":"WebSite","@id":"https:\/\/bhea.com\/blog\/#website","url":"https:\/\/bhea.com\/blog\/","name":"Bhea Blog","description":"","publisher":{"@id":"https:\/\/bhea.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bhea.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/bhea.com\/blog\/#organization","name":"Bhea Technologies Pte Ltd","url":"https:\/\/bhea.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bhea.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/05\/Bhea_blog_logo.png","contentUrl":"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/05\/Bhea_blog_logo.png","width":1918,"height":460,"caption":"Bhea Technologies Pte Ltd"},"image":{"@id":"https:\/\/bhea.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/bheatech","https:\/\/x.com\/bheacrm"]},{"@type":"Person","@id":"https:\/\/bhea.com\/blog\/#\/schema\/person\/a9912878fb495e904e0528de93601505","name":"Ram Kumar L K","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bhea.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/29d9eca3d4df82400075f5aee77299ada929924d3fa5c739fc394afe151926e2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/29d9eca3d4df82400075f5aee77299ada929924d3fa5c739fc394afe151926e2?s=96&d=mm&r=g","caption":"Ram Kumar L K"},"url":"https:\/\/www.bhea.com\/blog\/author\/ram-kumar-lk\/"}]}},"_links":{"self":[{"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/posts\/5992","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/comments?post=5992"}],"version-history":[{"count":7,"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/posts\/5992\/revisions"}],"predecessor-version":[{"id":7912,"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/posts\/5992\/revisions\/7912"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/media\/7359"}],"wp:attachment":[{"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/media?parent=5992"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/categories?post=5992"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/tags?post=5992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}