CRM-12254
authorDonald A. Lobo <lobo@civicrm.org>
Sat, 30 Mar 2013 16:51:00 +0000 (09:51 -0700)
committerDonald A. Lobo <lobo@civicrm.org>
Sat, 30 Mar 2013 16:51:00 +0000 (09:51 -0700)
CRM/Core/BAO/CustomGroup.php
CRM/Core/BAO/File.php
CRM/Core/Page/File.php
templates/CRM/Contact/Form/CustomData.tpl
templates/CRM/Custom/Form/CustomData.tpl
templates/CRM/Custom/Form/CustomField.tpl
templates/CRM/Form/attachment.tpl
templates/CRM/Form/attachmentjs.tpl [new file with mode: 0644]

index 27459a44781b25e88a5bad11f4eeb27896bbbeaf..11b30806f0898cac8bb9eccd63da194c7944404f 100644 (file)
@@ -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" ||
index c11b92a5a2ce3f1ed60af3bcecde549f18d637b1..c10becaced6d29a70feb4e9b1d7d89d01120776c 100644 (file)
        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);
index 67725b7edd2c9eff93d2e142b3286809d4a708ec..51a64dedcce0597ce9892191ea78f9e16d6e3697 100644 (file)
@@ -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);
index cf13c8983c781c319922313dad86e62b3c24c470..0816b8e3ab81dd2ea5d2d8ec9bbe8afb4e20209e 100644 (file)
@@ -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"}
index a0146bd895454e999082c83c69998300bb308904..51b99f29ee5556ae52beeaccc6267eb4257b031c 100644 (file)
@@ -82,4 +82,5 @@
       });
     {/literal}
   </script>
+
 {/if}
index c916648ce60ca663983754742e5751a44418305b..67b0caa0fc79c240cf70c10ced3ba0458a1a0243 100644 (file)
                     <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 />
                             &nbsp;{ts}Attached File{/ts}: &nbsp;
-                            {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'}
         </tr>
 
     {/if}
-
index 4b46567e25dd1019bc125b99c96c62f41daa47e4..4648ac684a4990ba804d5b47301fd93494242db7 100644 (file)
                   <strong><a href="{$attVal.url}">{$attVal.cleanName}</a></strong>
                   {if $attVal.description}&nbsp;-&nbsp;{$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/>
     </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 + '&nbsp; <a href="#" onclick="deleteAttachment( \'' + postURLData + '\',' + fileID + ' ); return false;" style="text-decoration: underline;">{/literal}{ts escape='js'}Yes{/ts}{literal}</a>&nbsp;&nbsp;&nbsp;<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} &nbsp;&nbsp;<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 (file)
index 0000000..b1c8c01
--- /dev/null
@@ -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 + '&nbsp; <a href="#" onclick="deleteAttachment( \'' + postURLData + '\',' + fileID + ',\'' + divName + '\', \'' + divFile + '\' ); return false;" style="text-decoration: underline;">{/literal}{ts escape='js'}Yes{/ts}{literal}</a>&nbsp;&nbsp;&nbsp;<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} &nbsp;&nbsp;<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>