diff --git a/CRM/Core/BAO/CustomGroup.php b/CRM/Core/BAO/CustomGroup.php index 27459a44781b25e88a5bad11f4eeb27896bbbeaf..11b30806f0898cac8bb9eccd63da194c7944404f 100644 --- a/CRM/Core/BAO/CustomGroup.php +++ b/CRM/Core/BAO/CustomGroup.php @@ -630,6 +630,7 @@ SELECT $select 'fid' => $fieldID, ) ); + $customValue['deleteURLArgs'] = CRM_Core_BAO_File::deleteURLArgs($table, $dao->$entityIDName, $fileDAO->id); $customValue['fileName'] = CRM_Utils_File::cleanFileName(basename($fileDAO->uri)); if ($fileDAO->mime_type == "image/jpeg" || $fileDAO->mime_type == "image/pjpeg" || diff --git a/CRM/Core/BAO/File.php b/CRM/Core/BAO/File.php index c11b92a5a2ce3f1ed60af3bcecde549f18d637b1..c10becaced6d29a70feb4e9b1d7d89d01120776c 100644 --- a/CRM/Core/BAO/File.php +++ b/CRM/Core/BAO/File.php @@ -105,7 +105,7 @@ list($sql, $params) = self::sql($entityTable, $entityID, $fileTypeID); } else { - list($sql, $params) = self::sql($entityTable, $entityID, NULL); + list($sql, $params) = self::sql($entityTable, $entityID, 0); } $dao = CRM_Core_DAO::executeQuery($sql, $params); diff --git a/CRM/Core/Page/File.php b/CRM/Core/Page/File.php index 67725b7edd2c9eff93d2e142b3286809d4a708ec..51a64dedcce0597ce9892191ea78f9e16d6e3697 100644 --- a/CRM/Core/Page/File.php +++ b/CRM/Core/Page/File.php @@ -33,8 +33,8 @@ * */ class CRM_Core_Page_File extends CRM_Core_Page { - function run() { + function run() { $eid = CRM_Utils_Request::retrieve('eid', 'Positive', $this, TRUE); $fid = CRM_Utils_Request::retrieve('fid', 'Positive', $this, FALSE); $id = CRM_Utils_Request::retrieve('id', 'Positive', $this, TRUE); diff --git a/templates/CRM/Contact/Form/CustomData.tpl b/templates/CRM/Contact/Form/CustomData.tpl index cf13c8983c781c319922313dad86e62b3c24c470..0816b8e3ab81dd2ea5d2d8ec9bbe8afb4e20209e 100644 --- a/templates/CRM/Contact/Form/CustomData.tpl +++ b/templates/CRM/Contact/Form/CustomData.tpl @@ -33,6 +33,7 @@ {*include custom data js file*} {include file="CRM/common/customData.tpl"} + {if $customValueCount } {literal} <script type="text/javascript"> @@ -48,3 +49,5 @@ {/literal} {/if} {/if} + +{include file="CRM/Form/attachmentjs.tpl"} diff --git a/templates/CRM/Custom/Form/CustomData.tpl b/templates/CRM/Custom/Form/CustomData.tpl index a0146bd895454e999082c83c69998300bb308904..51b99f29ee5556ae52beeaccc6267eb4257b031c 100644 --- a/templates/CRM/Custom/Form/CustomData.tpl +++ b/templates/CRM/Custom/Form/CustomData.tpl @@ -82,4 +82,5 @@ }); {/literal} </script> + {/if} diff --git a/templates/CRM/Custom/Form/CustomField.tpl b/templates/CRM/Custom/Form/CustomField.tpl index c916648ce60ca663983754742e5751a44418305b..67b0caa0fc79c240cf70c10ced3ba0458a1a0243 100644 --- a/templates/CRM/Custom/Form/CustomField.tpl +++ b/templates/CRM/Custom/Form/CustomField.tpl @@ -76,18 +76,20 @@ <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$element_name}', '{$form.formName}'); return false;" >{ts}clear{/ts}</a>)</span> {elseif $element.data_type eq 'File'} {if $element.element_value.data} + <div id="attachStatusMesg_{$element_name}" class="status hiddenElement"></div> + <div id="attachFile_{$element_name}"> <span class="html-adjust"><br /> {ts}Attached File{/ts}: - {if $element.element_value.displayURL } + {if $element.element_value.displayURL} <a href="#" onclick="popUp('{$element.element_value.imageURL}'); return false;" ><img src="{$element.element_value.displayURL}" height = "{$element.element_value.imageThumbHeight}" width="{$element.element_value.imageThumbWidth}"></a> {else} <a href="{$element.element_value.fileURL}">{$element.element_value.fileName}</a> {/if} - {if $element.element_value.deleteURL } - <br /> - {$element.element_value.deleteURL} + {if $element.element_value.deleteURL} + <a href="#" onclick="showDelete('{$element.element_value.fileName}', '{$element.element_value.deleteURLArgs}', {$element.element_value.fid}, '#attachStatusMesg_{$element_name}', '#attachFile_{$element_name}'); return false;" title="{ts}Delete this file{/ts}"><span class="icon red-icon delete-icon" style="margin:0px 0px -5px 20px" title="{ts}Delete this file{/ts}"></span></a> {/if} </span> + </div> {/if} {elseif $element.html_type eq 'Autocomplete-Select'} {if $element.data_type eq 'ContactReference'} @@ -100,4 +102,3 @@ </tr> {/if} - diff --git a/templates/CRM/Form/attachment.tpl b/templates/CRM/Form/attachment.tpl index 4b46567e25dd1019bc125b99c96c62f41daa47e4..4648ac684a4990ba804d5b47301fd93494242db7 100644 --- a/templates/CRM/Form/attachment.tpl +++ b/templates/CRM/Form/attachment.tpl @@ -118,7 +118,7 @@ <strong><a href="{$attVal.url}">{$attVal.cleanName}</a></strong> {if $attVal.description} - {$attVal.description}{/if} {if $attVal.deleteURLArgs} - <a href="#" onclick="showDelete('{$attVal.cleanName}', '{$attVal.deleteURLArgs}', {$attVal.fileID}); return false;" title="{ts}Delete this attachment{/ts}"><span class="icon red-icon delete-icon" style="margin:0px 0px -5px 20px" title="{ts}Delete this attachment{/ts}"></span></a> + <a href="#" onclick="showDelete('{$attVal.cleanName}', '{$attVal.deleteURLArgs}', {$attVal.fileID}, '#attachStatusMesg', '#attachFileRecord_{$attVal.fileID}'); return false;" title="{ts}Delete this attachment{/ts}"><span class="icon red-icon delete-icon" style="margin:0px 0px -5px 20px" title="{ts}Delete this attachment{/ts}"></span></a> {/if} {if !empty($attVal.tag)} <br/> @@ -158,34 +158,10 @@ </script> {/literal} {/if} {* edit/add if*} -{if $currentAttachmentInfo} -<script type="text/javascript"> -{literal} - function hideStatus( ) { - cj( '#attachStatusMesg' ).hide( ); - } - - function showDelete( fileName, postURLData, fileID ) { - var confirmMsg = '{/literal}{ts escape="js"}Are you sure you want to delete attachment: {/ts}{literal}' + fileName + ' <a href="#" onclick="deleteAttachment( \'' + postURLData + '\',' + fileID + ' ); return false;" style="text-decoration: underline;">{/literal}{ts escape='js'}Yes{/ts}{literal}</a> <a href="#" onclick="hideStatus( ); return false;" style="text-decoration: underline;">{/literal}{ts escape='js'}No{/ts}{literal}</a>'; - cj( '#attachStatusMesg' ).show( ).html( confirmMsg ); - } - function deleteAttachment( postURLData, fileID ) { - var postUrl = {/literal}"{crmURL p='civicrm/file/delete' h=0 }"{literal}; - cj.ajax({ - type: "GET", - data: postURLData, - url: postUrl, - success: function(html){ - var resourceBase = {/literal}"{$config->resourceBase}"{literal}; - var successMsg = '{/literal}{ts escape="js"}The selected attachment has been deleted.{/ts}{literal} <a href="#" onclick="hideStatus( ); return false;"><img title="{/literal}{ts escape='js'}close{/ts}{literal}" src="' +resourceBase+'i/close.png"/></a>'; - cj( '#attachFileRecord_' + fileID ).hide( ); - cj( '#attachStatusMesg' ).show( ).html( successMsg ); - } - }); - } -{/literal} -</script> +{if $currentAttachmentInfo} +{include file="CRM/Form/attachmentjs.tpl"} {/if} + {/if} {* top level if *} diff --git a/templates/CRM/Form/attachmentjs.tpl b/templates/CRM/Form/attachmentjs.tpl new file mode 100644 index 0000000000000000000000000000000000000000..b1c8c018ee1485432fcde633efe5dcdfe0bbd8bb --- /dev/null +++ b/templates/CRM/Form/attachmentjs.tpl @@ -0,0 +1,27 @@ +<script type="text/javascript"> +{literal} + function hideStatus( divName ) { + cj( divName ).hide( ); + } + + function showDelete( fileName, postURLData, fileID, divName, divFile ) { + var confirmMsg = '{/literal}{ts escape="js"}Are you sure you want to delete attachment: {/ts}{literal}' + fileName + ' <a href="#" onclick="deleteAttachment( \'' + postURLData + '\',' + fileID + ',\'' + divName + '\', \'' + divFile + '\' ); return false;" style="text-decoration: underline;">{/literal}{ts escape='js'}Yes{/ts}{literal}</a> <a href="#" onclick="hideStatus( divName ); return false;" style="text-decoration: underline;">{/literal}{ts escape='js'}No{/ts}{literal}</a>'; + cj( divName ).show( ).html( confirmMsg ); +p } + + function deleteAttachment( postURLData, fileID, divName, divFile ) { + var postUrl = {/literal}"{crmURL p='civicrm/file/delete' h=0 }"{literal}; + cj.ajax({ + type: "GET", + data: postURLData, + url: postUrl, + success: function(html){ + var resourceBase = {/literal}"{$config->resourceBase}"{literal}; + var successMsg = '{/literal}{ts escape="js"}The selected attachment has been deleted.{/ts}{literal} <a href="#" onclick="hideStatus( \'' + divName + '\'); return false;"><img title="{/literal}{ts escape='js'}close{/ts}{literal}" src="' +resourceBase+'i/close.png"/></a>'; + cj( divFile ).hide( ); + cj( divName ).show( ).html( successMsg ); + } + }); + } +{/literal} +</script>